警报对话框中的文本颜色不会更改
问题描述:
我试图在AlertDialogue中应用自定义颜色。它改变文本颜色以及背景颜色,但不会改变SingleChoiceItems的文字颜色。你可以看到它的黑色与下面的图像页码。警报对话框中的文本颜色不会更改
我使用的样式像下面的代码
<style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="android:textColor">@color/TextColorLite</item>
<item name="android:background">@color/colorPrimaryDarkLite</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">?attr/MainAccentColor</item>
<item name="android:buttonBarButtonStyle">@style/DialogButtonStyle</item>
</style>
<style name="DialogButtonStyle" parent="@style/Widget.AppCompat.Button.ButtonBar.AlertDialog">
<item name="android:textColor">?attr/TextColor</item>
<item name="android:textStyle">bold</item>
</style>
Java代码Dialoge
AlertDialog.Builder builder = new AlertDialog.Builder(
getActivity(), R.style.AlertDialogTheme);
builder.setTitle("Go to Page:");
builder.setSingleChoiceItems(mPageOptions, mPageIndx - 1,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int item) {
mOptionDiag.dismiss();
mPageIndx = item + 1;
updateQuotesListServer();
updatePageInfo();
}
});
builder.setNegativeButton("Dismiss",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
}
});
mOptionDiag = builder.create();
mOptionDiag.show();
我应该改变什么这个黑色文本颜色?
感谢
答
在你的资源文件夹打开styles.xml并添加例如像这样的自定义主题:
<style name="radiobuttonstyle" parent="Material.Drawable.RadioButton">
<!-- Hint color and label color in FALSE state -->
<item name="android:textColorHint">@color/md_green_900</item>
<item name="android:textSize">20sp</item>
<!-- Label color in TRUE state and bar color FALSE and TRUE State -->
<item name="colorAccent">@color/md_green_400</item>
<item name="colorControlNormal">@color/md_green_900</item>
<item name="colorControlActivated">@color/md_green_400</item>
</style>
,并在你的单选按钮的布局添加为单选按钮的类似主题这样的:
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radioyes"
android:theme="@style/radiobuttonstyle"
android:text="Yes"
android:textColorLink="@color/md_light_green_900"
android:textColorHighlight="@color/md_green_900"
android:textColor="@color/md_light_green_900" />
PS:那是我自己的自定义单选按钮,所以它应该工作。
答
我已经解决了添加这个项目的风格。
<!--For List Text-->
<item name="textColorAlertDialogListItem">@color/TextColorLite</item>
<!--For Radio-->
<item name="android:textColorSecondary">@color/TextColorLite</item>
感谢
+1
是的!这一定是解决方案。 – Piyush
请添加要使用这种风格的所有样式,它可以在其他风格 –
我没有使用任何其他样式对话的问题。 – Priya