Мое приложение содержит действие, называет его активностью A, которая отображает детали (название, автор, краткое резюме и т. Д.) Данной книги. TextView, содержащий краткую сводку, можно щелкнуть и отобразить всплывающее окно, в котором отображается расширенное резюме книги.правильный способ реализации пользовательского всплывающего окна? Действия против Dialog против AlertDialog
- Option1: реализовать всплывающее окно, как новый вид деятельности (кажется излишеством)
- Option2: реализовать как экземпляр диалогового класса с пользовательского макета (просто обескуражен)
- OPTION3: его реализации как экземпляр класса AlertDialog с пользовательским макетом (выглядит просто неправильно)
Что такое «правильный» способ реализации простого всплывающего окна и почему?
Вот XML-файл всплывающего окна
<?xml version="1.0" encoding="UTF-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fefefe"
android:padding="16dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_book_summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textColor="#555555"
android:textSize="16sp" />
<Button
android:id="@+id/btn_dismiss_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/brown_btn"
android:text="@string/btn_close"
android:textColor="#ffffff"
android:textSize="25sp" />
</LinearLayout>
</ScrollView>
Почему опция № 2 обескуражена? Просто потому, что это «диалог» вместо «диалогового окна»? Лично я не поклонник модальных/всплывающих окон, поэтому я бы попробовал и протестировал другой интерфейс. –
Пожалуйста, прочитайте [справочную страницу] (http://developer.android.com/guide/topics/ui/dialogs.html) в диалогах. Это стоит ** глубокое чтение **. –
@GiulioPiancastelli на ссылочной странице: «Класс Dialog является базовым классом для диалогов, но вам следует избегать непосредственного создания диалога. Вместо этого используйте один из следующих подклассов [...]« – kouretinho