У меня есть макет custom_alert. xml с элементом root как LinearLayout
с android:layout_height="130dp"
. Я использую AlertDialog.Builder
для его создания.
Вот мой полный код XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="130dp"
android:layout_width="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:gravity="center"
android:layout_gravity="center"
android:text="@string/avail"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?android:attr/listDivider" />
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<LinearLayout
android:orientation="vertical"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/example" />
<ToggleButton
android:id="@+id/Ex"
android:textOn="@string/installed"
android:textOff="@string/uninstalled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/buttonBarButtonStyle"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/example" />
<ToggleButton
android:id="@+id/tbEx1"
android:textOn="@string/installed"
android:textOff="@string/uninstalled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
style="?android:attr/buttonBarButtonStyle"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/example" />
<ToggleButton
android:id="@+id/tbEx2"
android:textOn="@string/installed"
android:textOff="@string/uninstalled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
style="?android:attr/buttonBarButtonStyle"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/example" />
<ToggleButton
android:id="@+id/tbEx3"
android:textOn="@string/installed"
android:textOff="@string/uninstalled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
style="?android:attr/buttonBarButtonStyle"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/example" />
<ToggleButton
android:id="@+id/tbEx4"
android:textOn="@string/installed"
android:textOff="@string/uninstalled"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
style="?android:attr/buttonBarButtonStyle"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
Как уже говорилось, элемент root установлен на 130dp
, но когда он отображается на экране, он обертывает контент, когда я хочу, чтобы он был на определенной c высоте, поэтому я могу использовать ScrollView
для прокрутки записей.