首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何为BottomSheetDialog设置DayNight主题

BottomSheetDialog是Android中的一个对话框控件,它可以显示在屏幕底部,并提供与用户进行交互的界面。为了设置BottomSheetDialog的DayNight主题,可以按照以下步骤进行操作:

  1. 首先,在项目的styles.xml文件中定义DayNight主题。可以使用AppCompat库提供的DayNight主题,例如:
代码语言:txt
复制
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
    <!-- 定义其他样式属性 -->
</style>
  1. 在创建BottomSheetDialog对象之前,将DayNight主题应用于当前的Activity或应用程序。可以通过调用setTheme()方法来实现,例如:
代码语言:txt
复制
setTheme(R.style.AppTheme);
  1. 然后,创建BottomSheetDialog对象,并将其与当前的Activity关联起来。可以使用BottomSheetDialog的构造函数来创建对象,例如:
代码语言:txt
复制
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(MainActivity.this);
  1. 最后,将BottomSheetDialog的布局设置为DayNight主题。可以通过调用setContentView()方法来设置布局,例如:
代码语言:txt
复制
bottomSheetDialog.setContentView(R.layout.bottom_sheet_layout);

在上述代码中,R.layout.bottom_sheet_layout是自定义的布局文件,用于定义BottomSheetDialog的外观和交互。

总结起来,为BottomSheetDialog设置DayNight主题的步骤如下:

  1. 在styles.xml文件中定义DayNight主题。
  2. 在创建BottomSheetDialog对象之前,将DayNight主题应用于当前的Activity或应用程序。
  3. 创建BottomSheetDialog对象。
  4. 将BottomSheetDialog的布局设置为DayNight主题。

腾讯云相关产品和产品介绍链接地址: 暂无相关产品和链接地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android MVVM框架使用(十三)UI更新 (App启动白屏优化、适配Android10.0深色模式)

颜色   深色模式下最重要的一点就是设置颜色和主题样式,当前我们是给了一个green的色值作为主题颜色,下面我们改一下,这将是一个比较繁琐的工作,但是做完之后,你会觉得很Nice…   我改是直接拿这个...dialog_from_right_anim_out style> true style> <style name="BottomSheetDialogStyle_Light" parent="Theme.Design.<em>BottomSheetDialog</em>...FloatingActionButton 浮动按钮的改动有一点特殊,如果你的样式<em>主题</em>中是NoActionBar,那么你直接通过tint去改变图标颜色是不行的,而是通过页面的样式的colorOnSecondary...WebView<em>设置</em> 在WebView中也可以<em>设置</em>是否为夜间模式。 10. 地图<em>设置</em>   之前我们在App中<em>设置</em>了地图,那么同样也是可以根据这个判断去<em>设置</em>当前地图的样式。 这样即可。

1.1K10
  • Android 10适配要点,深色主题

    Theme.AppCompat.DayNight.NoActionBar ,这是一种DayNight主题。...现在我们就可以重新运行一下程序,看看使用DayNight主题之后,MaterialTest项目默认的界面效果是什么样的,如下图所示。 ?...虽说使用主题差异型的编程方式几乎可以帮你解决所有的适配问题,但是在DayNight主题下,我们最好还是尽量减少通过硬编码的方式来指定控件的颜色,而是应该更多地使用能够根据当前主题自动切换颜色的主题属性。...我个人认为,在绝大多数情况下,让应用程序跟随系统的设置来决定使用浅色主题还是深色主题是最合适的一种做法。...MODE_NIGHT_YES:脱离系统设置,强制让当前应用程序使用深色主题。 MODE_NIGHT_NO:脱离系统设置,强制让当前应用程序使用浅色主题

    1.8K10

    Android 10 适配攻略小结

    4.深色主题 Android 10 新增了一个系统级的深色主题(在系统设置中开启)。虽然深色主题并不是强制适配项,但是它可以带给用户更好的体验: 可大幅减少耗电量。...一如其名,此功能可让开发者快速实现深色主题背景,而无需明确设置 DayNight 主题背景。...应用必须选择启用 Force Dark,方法是在其主题背景中设置 android:forceDarkAllowed="true" 。...同样,如果应用的主题背景继承自 DayNight 主题(例如Theme.AppCompat.DayNight),则系统不会应用 Force Dark,因为会自动切换主题背景。...总结一下,使用 Force Dark 需要注意几点: 如果使用的是 DayNight 或 Dark Theme 主题,则设置 forceDarkAllowed 不生效。

    2K32

    AndroidQ(10)黑暗模式适配的实现

    因此我们只需要定义两套不同的主题,根据是否是黑暗模式进行主题的切换即可。...(正常模式和黑暗模式):即在style文件下自定义两个style,但是必须指定parent为‘Theme.AppCompat.DayNight.DarkActionBar’,如下所示: //正常模式下的主题...<style name="main_theme_light" parent="Theme.AppCompat.<em>DayNight</em>.DarkActionBar" <item name="windowActionBar...,才能使我们自定义的属性生效,必须在setContentView()方法前<em>设置</em>: @Override protected void onCreate(@Nullable Bundle savedInstanceState...如果有更多不同<em>主题</em>,那我们的工作就简单了,只需要在style文件下增加<em>主题</em>,并且加入<em>主题</em>下的颜色值就可以了。

    99821

    Scoops android app多主题架构(一)

    原理分析 主要通过设置主题(存储设置值), 重启activity,通过setTheme方式设置style实现。...里面 配置上默认主题,这里要注意的是配置的和5里面写的默认的那个要一致 5 MainApp里面 完成初始化,主要设置一系列的主题。...setSharedPreferences 配置默认的存储key值 addDayNightFlavor 设置DayNight主题风格,这个随后会讲到。...3:这里说下为什么需要在AndroidManifest.xml里面配置默认主题,因为Scoops设计,在判断主题没有更改的情况下,不进行设置主题,因此第一次进来不会设置。所以我们要配置默认主题。...并且和MainApp里面设置的默认值一样。 这里的true第三个参数说明设置为默认主题,和我们在AndroidManifest.xml设置主题一致即可。

    935100

    实现夜间模式真就这么简单?!

    配置对应的主题模式 上篇文章我们补充了主题模式的讲解,对于一些主题样式进行的相应的说明,我也说过,到这里我们就有可能用到。 白天模式 对于白天模式的主题样式和颜色,我们就是按正常的来做就可以了。...就是我们平常设置主题和颜色的地方设置就行。不同的是我们的主题style样式需要继承的是DayNight主题。 如下: ? 重点是这句话: ?...夜间模式 对于夜间模式的颜色和主题配置,我们需要建立一个res下建立一个values-night文件夹,里面放着夜间主题样式的color等资源。 colors.xml配置如下: ?...切换主题 这一步就是改切换主题的调用了,如下: ? 我这里对模式进行了保存,先判断现在处于什么模式,然后点击的时候,再根据现在的模式切换到另一种模式。 重点是这两行代码: ?...(默认选项):设置为跟随系统,通常为MODE_NIGHT_NO 到这里关于夜间模式的切换就讲完了,是不是非常简单?

    98790

    Material Design Compoents 1.1.0

    Material Design Compoents 1.1.0 增加了 Material Theming,新的组件、黑暗主题支持、等等 新的功能: 所有组件都支持黑暗主题 新的日期选择器(具有范围选择功能和提升可访问功能...MDC 可以立即使用 Material Dark 主题。...它以现有的 AppCompat DayNight功能为基础,因此不用从头开始实现它: 主题:现在所有的 MDC 主题都会有不同的 DayNight 形式。...新颜色:默认调色板已扩展为了深色主题已经扩展了。应该进行调整 colorPrimary colorSecondary 以使品牌在黑暗主题中的饱和度降低。...海拔表面增亮:所有 MDC 组件都支持其表面增亮来传达黑暗主题中的海拔。指南中的白色覆盖投影映射到组件上设置的 elevation 的数值。 可访问性:MDC 利用颜色来区分是否可以访问。

    1.1K10

    再不迁移到Material Design Components 就out啦

    或者你也可以在主题中给所有的文本设置默认样式 <style name="Theme.App...BottomSheetDialogFragment Theme.Design.Light.<em>BottomSheetDialog</em> Theme.MaterialComponents.*.<em>BottomSheetDialog</em>...框架中已适当命名的现有属性(例如android:colorBackground) AppCompat中已适当命名的现有属性(例如colorPrimary和colorError) 新的属性由MDC介绍(<em>如</em>colorSurface...*样式和相应的textAppearance*<em>主题</em>属性,它们替代了现有的AppCompat /框架样式。 ? MDC小部件使用这些属性来<em>设置</em>文本样式。...MDC小部件使用这些属性来<em>设置</em>其背景样式。要了解哪些窗口小部件适用于哪些形状类别,需要检查源代码中的默认窗口小部件样式。 控件背景 实现此功能的类为 MaterialShapeDrawable.

    3.2K30

    简洁优雅地实现夜间模式

    compile 'com.android.support:appcompat-v7:25.1.0' 由于Support Library在23.2.0的版本中才添加了Theme.AppCompat.DayNight...不过现在4.0以下的设备应该比较少了吧,毕竟微信的minSdkVersion都设置为14了。 准备资源 1 让我们自己的主题继承并应用DayNight主题。 ?...检测当前主题模式 int mode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; 设置主题...网页的默认背景色是白色,所以尽管设置主题为AppCompatDelegate.MODE_NIGHT_YES,网页仍然是白色,所以看起来就很不搭了。所以,网页的内容和背景色等资源也需要适配了。...系统或默认设置为早上6点钟为日出,下午10点为日落。用户调整系统时间,当前的主题也会随之改变。如果我们不希望用户在设定主题后,主题还会随着时间改变,MODE_NIGHT_AUTO就不适用了。

    1.8K30
    领券