Android 自定义支持对话框片段文本的颜色错误

Android 自定义支持对话框片段文本的颜色错误,android,actionbarsherlock,android-alertdialog,android-dialogfragment,android-support-library,Android,Actionbarsherlock,Android Alertdialog,Android Dialogfragment,Android Support Library,如果在自定义对话框中放置TextView,则默认情况下文本为黑色 不幸的是,支持片段对话框的背景是深灰色的。灰色上的黑色很难辨认 我可以将TextView更改为白色或类似于android:textColor=“?android:attr/textColorPrimaryInverseDisableOnly”。 但是新安卓(Holo Light)上的对话框是白色的。因此,它将是白色对白色 我可以使用一种黑客手段,比如在旧版本的Android上强制它为白色,在新版本的Android上强制它为黑色,但

如果在自定义对话框中放置
TextView
,则默认情况下文本为黑色

不幸的是,支持片段对话框的背景是深灰色的。灰色上的黑色很难辨认

我可以将
TextView
更改为白色或类似于
android:textColor=“?android:attr/textColorPrimaryInverseDisableOnly”
。 但是新安卓(Holo Light)上的对话框是白色的。因此,它将是白色对白色

我可以使用一种黑客手段,比如在旧版本的Android上强制它为白色,在新版本的Android上强制它为黑色,但我宁愿找到一种更优雅的解决方案


是否有办法更改
文本视图
以模拟通常放在支持
对话框片段
上的相同文本?我使用的是Action Bar Sherlock,如果有关系的话。

如果您使用的是Action Bar Sherlock,我猜您也支持旧设备。可悲的是,旧手机不会显示任何全息对话框,只会显示旧的丑陋对话框(在许多手机上,它们也会被制造商大量定制)。因此,不能假设您的对话将是轻松的

你只能做两件事:

  • 保持原样,让系统处理对话框的样式
  • 为对话框设置自定义视图。请点击此处:
试试这个

alertDialogBuilder.setInverseBackgroundForced( true )

在我的例子中,它在蜂窝设备和更新的设备上运行良好。标题仍然以较深的颜色显示,但主文本在所有设备上都清晰可读

我已经在使用自定义对话框。它在枯燥的旧兼容性对话框上看起来很好,但在自定义对话框上看起来是错误的。更改背景是可能的,但我必须切换所有现有的对话框,以具有自定义背景。这个问题是很久以前的事了,我真的不记得我试图用它做什么。所以我可能需要一段时间才能测试这个答案:)这对我来说很有效。此功能反转旧设备上的背景色,而对新设备没有影响。