Изменить стиль AlertDialog - PullRequest
       24

Изменить стиль AlertDialog

5 голосов
/ 04 ноября 2011

Когда я запускаю этот код, появляется диалоговое окно с предупреждением, но вокруг диалога есть одна белая граница, а также границы немного круглые. Я не хочу эту белую рамку и хочу иметь настоящие углы с углом 90. Я надеюсь, вы понимаете, что я пытаюсь сделать.

        AlertDialog.Builder ad = new AlertDialog.Builder(this);
        Button bbb=new Button(MvcnContactList.this);
        ad.setView(bbb);
        alertDialog = ad.create();
        alertDialog.show();

enter image description here

Есть ли способ стилизовать диалоговое окно оповещения, но не цвет текста или размер текста или что-то подобное ... Я хочу стилизовать границы диалогового окна оповещения, поэтому установка только темы может быть решением этой проблемы. Но я не знаю, какие свойства переопределить.

Спасибо

EDIT: Например, этот стиль переопределяет textColor на 00FF00, и это круто, но какое свойство я должен переопределить, чтобы углы не закруглялись и чтобы этот белый боредер был удален

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AlertDialogCustom" parent="@android:style/AlertDialog">
        <item name="android:textColor">#00FF00</item>
        <item name="android:typeface">monospace</item>
        <item name="android:textSize">10sp</item>
    </style>
</resources>

Ответы [ 2 ]

15 голосов
/ 07 ноября 2011

Я нашел решение с помощью обертки, где вы можете установить тему (стиль) на что угодно в текущем контексте.Я установил R.style.MyTheme в качестве стиля для моего диалогового окна оповещения и настроил это представление на свой вкус.

ContextThemeWrapper ctw = new ContextThemeWrapper( this, R.style.MyTheme );
        AlertDialog.Builder builder= new AlertDialog.Builder( ctw );
1 голос
/ 22 сентября 2013

Вы ответили на свой вопрос самостоятельно, но он не сработал для меня, поэтому вот мой ответ, надеюсь, будет полезен для всех, кто в нем нуждается:

<style name="PauseDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>

</style>

Поместите этот стиль в файл res \ values ​​\ styles.xml и просто укажите тему своей деятельности в своем манифесте. Как это:

android:theme="@style/PauseDialog" 
...