Я пытаюсь создать базовый AlertDialog, используя действие с темой Theme.Dialog.Однако у меня возникла проблема с размером диалога.Мой XML в настоящее время выглядит так:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow>
<View
android:background="@drawable/divider_gradient"
android:layout_width="fill_parent"
android:layout_height="1dip" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dip" />
</TableRow>
</TableLayout>
</LinearLayout>
Я хочу, чтобы между заголовком и сообщением была горизонтальная полоса.Тем не менее, размер панели изменен неправильно.Вместо ширины действия, полоса - это ширина текста сообщения.Это означает, что если действие расширяется сообщением, то панель заполнит все действие, поэтому она выглядит правильно.Однако, если ширина сообщения меньше ширины действия, строка отображается только над частью действия с текстом.Я пробовал каждую комбинацию «fill_parent» и «wrap_content», о которой только мог подумать, и ни одна из них не работает.
Я также пытался использовать RelativeLayout и размещать панель над текстом сообщения, ноэто тоже не работает.Если я использую подход RelativeLayout и устанавливаю панель на fill_parent, это приводит к расширению действия, чтобы заполнить всю ширину экрана, что также нежелательно.В идеале я хочу разместить текст, вычислить ширину активности и изменить размер полосы до этой ширины (не затрагивая ее).Есть ли способ пометить представление, чтобы заполнить родительское представление, но не повлиять на его размер?Спасибо.