Объединение layout_weight и maxWidth для представлений

Я пытаюсь сделать свои макеты более удобными для ландшафта, и у меня есть общий шаблон: добавить LinearLayout с некоторыми кнопками (например, OK | Отмена) и просто установите значение для layout_weight , чтобы пространство распределялось равномерно. Проблема в том, что когда вы используете телефон или (особенно) планшет в альбомном режиме, вы получаете огромные кнопки, которые выглядят нелепо. Я пробовал установить maxWidth на кнопках и в линейной компоновке, но безрезультатно. Каким будет самый простой способ добиться этого? А именно, установка максимального горизонтального размера для вида, чтобы он не увеличивался на всю ширину. Я пробовал кучу разных вещей, но ничего не вышло.

Вот пример макета:

    <LinearLayout 
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:gravity="center_horizontal"
      android:paddingLeft="10dp"
      android:paddingRight="10dp"
      android:paddingTop="6dp"
      android:paddingBottom="6dp">
      <Button 
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:enabled="false"
        android:textStyle="bold"
        android:text="@string/button1" />
      <Button 
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/button2" />
    </LinearLayout>

Примечание: я знаю, что могу создать новый файл макета для ландшафта и творить там волшебство. Я хочу свести к минимуму количество специализированных файлов макета и надеюсь, что они для этого не потребуются.

11
задан dmon 8 June 2011 в 20:34
поделиться