Пользовательский диалог с внешним видом по умолчанию - это возможно? - PullRequest
3 голосов
/ 23 января 2012

Для пояснения : я хочу, чтобы все пользовательские диалоговые окна выглядели как системные диалоговые окна по умолчанию: например, когда пользователь использует htc sense, диалоговое окно должно соответствовать стилю диалога htc sense, когда пользователь использует samsung сОфициальное привыкание, диалог должен выглядеть так.Я хочу пойти как можно более родным.Мне знакомо, что есть возможности изменить диалог, но я ищу способ сослаться на стиль, который использует система, и создать диалог с этим.

Что у меня есть:

enter image description here

Чего я хотел бы достичь:

enter image description here

Код для моего диалогового макета, который я вызываю с помощью dialog.setContentView(...):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@android:style/Theme.Dialog"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/listView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip" >
</ListView>

</LinearLayout>

Как видите, установка style="@android:style/Theme.Dialog не помогает.Есть идеи, что может помочь?

(я знаю, что такой вопрос уже есть: https://stackoverflow.com/questions/6746535/android-custom-dialog-but-with-look-and-feel-of-default-one, но нет принятого ответа)

Ответы [ 2 ]

0 голосов
/ 24 февраля 2012

Вы можете создать диалоговое окно, похожее на нативное, для одного пользовательского интерфейса, но когда другой пользователь имеет какой-либо другой ПЗУ / измененный пользовательский интерфейс, диалоговое окно не выглядит как родное для него / нее. Нет встроенной функциональности для доступа к системным диалоговым ресурсам и заполнения всех диалогов только из собственных макетов.

0 голосов
/ 24 января 2012

Если вы хотите, чтобы диалоговое окно отображалось только для вашей прикладной цели, выполните следующие действия:

См. Это изображение, которое я создал, чтобы сохранить это изображение или опубликовать его другим способом.

enter image description here

Я создал макет XML в соответствии с моим требованием.Если вы хотите добавить представление списка, как вы объяснили в вопросе, вы должны вручную реализовать это поведение в содержимом диалога.Средства для такого слоя Вы должны реализовать Custom ListView, у которого есть этот переключатель и текст.А также есть некоторый Java-код для выполнения действий в соответствии с этим выбором.

С этим вы можете достичь желаемого.

Наслаждайтесь.:)

...