2010-09-10 4 views
1

Я пытаюсь создать базовый AlertDialog, используя активность с темой Theme.Dialog. Однако у меня проблема с размером диалога. Мой XML в настоящее время это:Theme.Dialog проблемы с размером изображения

<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, он заставляет активность расширяться, чтобы заполнить всю ширину экрана, что также нежелательно. В идеале я хочу, чтобы текст был размещен, вычисленная ширина активности и полоса были изменены до этой ширины (без влияния на нее). Есть ли способ добавить флаг для представления родительского представления, но не повлиять на его размер? Спасибо.

ответ

0

вы можете вернуться к относительной компоновке и просто наложить на нее все, что хотите, поэтому, когда вы говорите, что fill_parent не заполняет экран. android: padding = "25dip" как атрибут относительной компоновки.

Смежные вопросы