當我試圖將一個標準主題應用到AlertDialog
AlertDialog主題:如何更改項目文本顏色?
AlertDialog.Builder builder = new AlertDialog.Builder(MyClass.this, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
builder.setTitle("Change");
String[] info= this.getResources().getStringArray(R.array.info);
ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.select_dialog_singlechoice);
arrayAdapter.addAll(info);
builder.setSingleChoiceItems(arrayAdapter, ....
結果:
的注意的是,我有沒有問題builder.setItems(...)
因爲它的文本顏色爲Black
,而應用的主題與builder.setSingleChoiceItems(...)
有一個白色的文字顏色。
任何快速修復?或者以任何方式創建基於AlertDialog.THEME_DEVICE_DEFAULT_LIGHT
的自定義主題?
預期我的個性風格不起作用:
<style name="AlertDialogCustomTheme" android:parent="android:Theme.Dialog">
<item name="android:textColor">#7ABDFF</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<!--THE FOLLOWING ITEMS HAVE NOT EFFECT ... !! -->
<item name="android:layout_centerHorizontal">true</item>
<item name="android:layout_centerVertical">true</item>
<item name="android:textColorAlertDialogListItem">#A844BD</item>
<item name="android:itemBackground">#7ABDFF</item>
</style>
更新
@lopez答案是一個完整的解決方案,但我發現一個單行修復我的問題,自定義主題適用於清單中的活動:
<style name="MyTheme">
<item name="android:textColorAlertDialogListItem">@android:color/black</item>
</style>
不幸的屬性僅適用於API 11及更高版本 – jiduvah