Есть ли другой способ равномерно распределить представления пространства, кроме использования LinearLayouts и layout_weight?

1

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

  • 1
    Использование layout_weight обычно лучший способ сделать это. Если вы не видите layout_weight макет, значит, вы используете layout_weight в неправильных местах или с неправильными значениями 'weight'. Опубликуйте свой макет XML и объясните, как вы хотите, чтобы макет выглядел.
  • 1
    Я думаю, что мой ответ из аналогичной темы поможет: stackoverflow.com/questions/10539268/…
Показать ещё 3 комментария
Теги:

1 ответ

2
Лучший ответ

Ответ DeeV на этот вопрос неплохо справляется с этим:

LinearLayout свой верхний LinearLayout на RelativeLayout и LinearLayout двух детей с> невидимым View в центре:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/top"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
      android:id="@+id/center_point"
      android:layout_width="0dp"
      android:layout_height="0dp"
      android:layout_centerInParent="true"/>

    <LinearLayout
      android:id="@+id/left_layout"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_alignParentLeft="true"
      android:layout_alignRight="@+id/center_point>
    </Linearlayout>


    <LinearLayout
      android:id="@+id/right_layout"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_alignParentRight="true"
      android:layout_alignLeft="@+id/center_point>
    </Linearlayout>

</RelativeLayout>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню