Как я могу реплицировать AlertDialog, используя Activity в качестве диалога - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть AlertDialog, который используется в моем приложении.Я доволен тем, как это выглядит и как это повторить, чтобы выглядеть точно так же, как когда я использую Activity as a Dialog.Мне нужно использовать Activity as a Dialog вместо AlertDialog в некоторых случаях, так как я должен предотвратить запуск приложения новым действием, которое происходит только в определенных ситуациях.

Вот как выглядит мой AlertDialog.

AlertDialog

Вот мой Activity As A Dialog

enter image description here

Как мне сопоставить второе диалоговое окно с тем, чтобы оно выглядело точно как диалог оповещения?Основной диалог использует мою тему по умолчанию с розовыми переключателями, а второй - нет.Также второй диалог шире и короче.Есть ли способ найти свойства макета для диалогового окна предупреждения и просто добавить эти свойства в xml для AAAD?Или есть лучший способ сделать это?

Вот код строителя для Alert Dialog

 AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
    alt_bld.setTitle("Alert Dialog"); 


    alt_bld.setSingleChoiceItems(myArray.toArray(new String[myArray.size()]), 0, new DialogInterface.OnClickListener()

Код для AAAD

 setContentView(R.layout.activity_da_aamount_to_finish);
    setTitle("Activity As A Dialog");

Файл манифеста

<activity android:name=".DaAAmountToFinish"
              android:theme="@style/Theme.AppCompat.Light.Dialog.MinWidth">
              android:excludeFromRecents="true"></activity>

xml для этого упражнения - это просто RadioGroup с тремя кнопками.

Как мне поступить?

Если я изменю тему манифеста для AAAD на android:theme="@style/AppTheme"> Она появляется в желаемом стиле, но в целом.Как сохранить внешний вид диалога и реализовать эту тему.

1 Ответ

0 голосов
/ 21 февраля 2019

Если вы хотите повторить структуру диалога, вы можете использовать инструмент инспектора макетов в Android Studio, он отобразит дерево представлений. Руководство инспектора по макету

Для розового цвета Android извлеките его из файла стиля.Этот цвет должен быть свойством colorAccent или colorPrimary вашей AppTheme (точно не помню).

<style name="AppTheme.Normal.Watermelon" parent="Base.AppTheme">
    <item name="colorPrimary">@color/watermelon</item>
    <!-- or -->
    <item name="colorAccent">@color/watermelon</item>
</style>

Надеюсь, это несколько полезно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...