如何在AlertDialog中更改项目文本的颜色

问题描述 投票:0回答:1

这里是带有项目列表的警报对话框:

        val cs: Array<CharSequence> = pairedDevices.map { z -> z.name }.toTypedArray()
        var selectedDevice: String = ""        val ab = AlertDialog.Builder(this, R.style.AlertDialog);
        ab.setTitle("Select device");
        ab.setIcon(android.R.drawable.ic_dialog_alert);
        ab.setPositiveButton("Select") { dialogueInterface, which -> btConnect(selectedDevice);
        };
        ab.setNeutralButton("Cancel") { dialogueInterface, which ->
            Toast.makeText(
                applicationContext,
                "No Bluetooth adapter selected.",
                Toast.LENGTH_LONG
            ).show()
        };
        ab.setItems(cs) { dialog, which -> selectedDevice= cs[which].toString() };
        val a = ab.create();
        a.setCancelable(false);
        a.show();

它在黑色背景上显示黑色文本。

<resources>
    <style name="PsaMfdTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="android:textColor">@color/text</item>
        <item name="android:textColorPrimaryDisableOnly">@color/textDisabled</item>
        <item name="android:background">@color/background</item>
        <item name="textColorAlertDialogListItem">@color/text</item>
        <item name="android:textColorHint">@color/text</item>
        <item name="android:textColorPrimary">@color/text</item>
        <item name="android:textColorSecondary">@color/text</item>
        <item name="android:textColorTertiary">@color/text</item>
        <item name="colorAccent">@color/text</item>
    </style>

    <style name="AlertDialog" parent="Theme.AppCompat.DayNight.Dialog">
        <item name="android:textColor">@color/text</item>
        <item name="android:textColorPrimaryDisableOnly">@color/textDisabled</item>
        <item name="android:background">@color/background</item>
        <item name="textColorAlertDialogListItem">#FFFFFF</item>
        <item name="android:textColorHint">@color/text</item>
        <item name="android:textColorPrimary">@color/text</item>
        <item name="android:textColorSecondary">@color/text</item>
        <item name="android:textColorTertiary">@color/text</item>
        <item name="colorAccent">@color/text</item>
    </style>
</resources>

如何更改文字颜色?到处似乎都在说textColorAlertDialogListItem,但这没用。

android-styles
1个回答
0
投票

© www.soinside.com 2019 - 2024. All rights reserved.