android:theme决定AlertDialog的背景颜色

简介:

最近遇到一个很奇怪的问题,两个项目弹出的dialog背景颜色不一样,一个是黑色的,一个是白色的,最后发现是AndroidManifest.xml文件里面application指定的android:theme设置的样式不一样。



黑色dialog背景效果图:


dialog是黑色的时候application指定的样式如下:

  1. <!-- Application theme. -->  
  2. <style name="AppTheme" parent="android:Theme.Light">  
  3.     <!-- All customizations that are NOT specific to a particular API-level can go here. -->  
  4.     <item name="android:windowNoTitle">true</item>  
  5. </style>  







白色背景如图:


dialog是白色背景的时候application指定的样式如下:

  1. <!--  
  2.     Base application theme, dependent on API level. This theme is replaced  
  3.     by AppBaseTheme from res/values-vXX/styles.xml on newer devices.  
  4. -->  
  5. <style name="AppBaseTheme" parent="android:Theme.Light">  
  6.     <!--  
  7.         Theme customizations available in newer API levels can go in  
  8.         res/values-vXX/styles.xml, while customizations related to  
  9.         backward-compatibility can go here.  
  10.     -->  
  11. </style>  
  12.   
  13. <!-- Application theme. -->  
  14. <style name="AppTheme" parent="AppBaseTheme">  
  15.     <!-- All customizations that are NOT specific to a particular API-level can go here. -->  
  16.     <item name="android:windowNoTitle">true</item>  
  17. </style>  








总结:对比两个样式,我们很明显的发现白色背景多继承了一层,增加了AppBaseTheme样式............希望我的总结能让你们少遇到坑。。。

目录
相关文章
|
6月前
|
Android开发
android 快速更改TabLayout的选中背景颜色。
android 快速更改TabLayout的选中背景颜色。
112 0
|
2月前
|
Android开发
Android经典实战之Textview文字设置不同颜色、下划线、加粗、超链接等效果
本文介绍了 `SpannableString` 在 Android 开发中的强大功能,包括如何在单个字符串中应用多种样式,如颜色、字体大小、风格等,并提供了详细代码示例,展示如何设置文本颜色、添加点击事件等,助你实现丰富文本效果。
261 3
|
3月前
|
API Android开发
Android使用AlertDialog实现弹出菜单
本文分享了在Android开发中使用AlertDialog实现弹出菜单的方法,并通过代码示例和错误处理,展示了如何避免因资源ID找不到导致的crash问题。
67 1
|
5月前
|
Android开发 开发者
Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。
【6月更文挑战第26天】Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。要更改主题,首先在该文件中创建新主题,如`MyAppTheme`,覆盖所需属性。然后,在`AndroidManifest.xml`中应用主题至应用或特定Activity。运行时切换主题可通过重新设置并重启Activity实现,或使用`setTheme`和`recreate()`方法。这允许开发者定制界面并与品牌指南匹配,或提供多主题选项。
85 6
|
5月前
|
Android开发 开发者
Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题
【6月更文挑战第25天】Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题,首先在`styles.xml`中定义新主题,如`MyAppTheme`,然后在`AndroidManifest.xml`中设置`android:theme`。可应用于全局或特定Activity。运行时切换主题需重置Activity,如通过`setTheme()`和`recreate()`方法。这允许开发者定制界面以匹配品牌或用户偏好。
56 2
|
5月前
|
Android开发 UED
|
5月前
|
Android开发
在Android上实现图像颜色过滤与反转
在Android上实现图像颜色过滤与反转
190 0
在Android上实现图像颜色过滤与反转
|
5月前
|
API Android开发
32. 【Android教程】对话框:AlertDialog
32. 【Android教程】对话框:AlertDialog
90 2
|
4月前
|
API Android开发 UED
Android中使用AlertDialog创建对话框
Android中使用AlertDialog创建对话框
|
6月前
|
XML Java Android开发
android背景颜色渐变及改变title颜色
android背景颜色渐变及改变title颜色
52 4
下一篇
无影云桌面