Изменение цвета текста AlertDialog - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть AlertDialog, который содержит две опции, по которым пользователь может щелкнуть. AlertDialog работает как задумано, но я не могу понять, как изменить цвет текста с черного на белый:

enter image description here

Это код:

String[] shareOptions = {"Copy media url", "Copy Reddit url"};

AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getContext(),R.style.AlertDialogDark));
builder.setItems(shareOptions, new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        ClipboardManager clipboard = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
        String copiedUrl = "";
        if(which == 0) copiedUrl = mCurrSubmission.getUrl();
        else copiedUrl = "www.reddit.com" + mCurrSubmission.getPermalink();

        ClipData clip = ClipData.newPlainText("share_url", copiedUrl);
        clipboard.setPrimaryClip(clip);
    }
});
builder.show();
return true;

Это стиль, который я пытаюсь использовать:

<style name="AlertDialogDark" parent="@android:style/Theme.Dialog">
    <item name="android:background">@color/colorDarkerGray</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:textColor">#ffffff</item>
    <item name="android:textColorPrimary">#ffffff</item>
    <item name="android:textColorSecondary">#ffffff</item>
    <item name="android:textColorTertiary">#ffffff</item>
</style>

Как изменить цвет текста с черного на белый?

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Этот код настраивает сообщение диалога:

AlertDialog ad = builder.create();
TextView messageView = ad.findViewById(android.R.id.message);
messageView.setTextColor(0xffffff);
messageView.setText("your title");

Стандартное диалоговое сообщение: TextView с идентификатором: android.R.id.message.
Поскольку сообщение имеет значение TextView, вы можете выполнить дополнительные настройки, такие как цвет фона, отступы и т. Д.
После этого кода вы можете позвонить:

ad.show();
0 голосов
/ 07 ноября 2018

Можете ли вы попробовать это

<item name="@android:textColor">#ffffff</item>

В этом посте разработчик использовал его с @. может быть, это влияет.

...