настоящее время я использую линейную структуру макета, которая выглядит следующим образом: Как изменить порядок линейного размещения с весами?
Ассоциированный XML-код выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<com.handmark.pulltorefresh.library.PullToRefreshLoadMoreScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/altercolor2"
android:layout_gravity="top">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:baselineAligned="true">
<LinearLayout
android:id="@+id/columnOne"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight=".53"
android:orientation="vertical">
<include
android:id="@+id/first_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/item_header" />
<LinearLayout
android:id="@+id/first_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=".47"
android:orientation="vertical">
<include
android:id="@+id/second_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/item_header" />
<LinearLayout
android:id="@+id/second_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="top" />
<include
android:id="@+id/third_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/item_header" />
<LinearLayout
android:id="@+id/third_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</LinearLayout>
</LinearLayout>
</com.handmark.pulltorefresh.library.PullToRefreshLoadMoreScrollView>
Однако, я хотел бы изменить, что так, что она выглядит следующим образом:
Есть ли способ, которым я могу изменить то же самое с linearlayout? или мне нужно использовать какую-то другую форму макета, как relativelayout. Я довольно смущен тем же. Кроме того, хотелось бы включить заголовки с контейнерами (код включения), есть ли способ, которым я могу легко достичь этого?
Спасибо!
После небольшого изменения кода у меня был небольшой успех, перемещая второй заголовок и второй макет сверху, но первый заголовок находится рядом с первым макетом, а не сверху, и тот же для третьего. Есть ли способ исправить Это? Я приложил изображение здесь:
и код выглядит следующим образом:
<com.handmark.pulltorefresh.library.PullToRefreshLoadMoreScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/altercolor2"
android:layout_gravity="top">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:baselineAligned="true">
<LinearLayout
android:id="@+id/columnOne"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include
android:id="@+id/second_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/item_header" />
<LinearLayout
android:id="@+id/second_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:baselineAligned="true">
<include
android:id="@+id/first_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.50"
layout="@layout/item_dashboard_header" />
<LinearLayout
android:id="@+id/first_container"
android:layout_width="match_parent"
android:layout_weight="0.50"
android:layout_height="wrap_content"
android:orientation="vertical"
/>
<include
android:id="@+id/third_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.50"
layout="@layout/item_dashboard_header" />
<LinearLayout
android:id="@+id/third_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.50"
android:orientation="vertical" />
</LinearLayout>
</LinearLayout>
</com.handmark.pulltorefresh.library.PullToRefreshLoadMoreScrollView>
Невозможно установить его таким образом, поскольку он показывает только первый контейнер, когда я делаю это таким образом. Можете ли вы проиллюстрировать с помощью res pect к моему коду для требуемого макета, так что второй сверху, первый и третий вместе с картиной i, также не уверен, что мне нужно как-то заменить эти линейные прогибы внутри линейных прогибов, я добавил linearlayouts вместо любого малыша из представлений внутри parent linearlayouts, как в коде –
Я думаю, я не понимаю. См. Мое редактирование. Возможно, это то, что вы имеете в виду. Я не обращал внимания на то, где каждый номер был, когда я впервые написал код – codeMagic
. Я немного путаюсь с линейными макетами, содержащимися в других линейных макетах, вместо представлений, которые вы проиллюстрировали в коде. Также, установка ширины или высоты до 0dp делает этот конкретный макет невидимым в моем случае. Есть ли способ, которым вы можете использовать мой код (с точными макетами и включенными заголовками, как показано), и объяснить свой ответ тем же? –