Советы по созданию макета - PullRequest
0 голосов
/ 10 марта 2019

Я хотел бы создать макет, подобный этому.

Layout example

Каков наилучший способ выполнить это?

Ответы [ 3 ]

1 голос
/ 10 марта 2019

Вы можете использовать этот код для создания этого дизайна:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2"
    android:orientation="vertical">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@android:color/black"
        android:layout_weight="0.4"/>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1.6"></RelativeLayout>

</LinearLayout>

Вы можете изменить значения layout_weight, чтобы изменить скорость.

1 голос
/ 10 марта 2019

Есть несколько способов сделать это, первый и общий шаг - определить границу вокруг родительского макета и определить поле для дочерних макетов. после этого на втором шаге вы можете использовать одно из следующих действий для достижения этого.

  1. вы можете использовать Linearayouts с ориентацией по вертикали, а затем с помощью веса и веса вы можете достичь этого.

  2. другой подход заключается в использовании относительного. в относительной компоновке вы можете указать позицию других видов, относящуюся к позиции другой компоновки.

  3. Третий подход заключается в использовании макетов ограничений, предоставьте ограничения, и вы достигнете этого.

0 голосов
/ 10 марта 2019

Некоторые из способов достижения этого макета и некоторые предостережения относительно производительности приведены ниже: -

1. При использовании линейных макетов с использованием весовых параметров произойдет снижение производительности, так как этозаставьте представления быть измеренными дважды прежде, чем быть макетом. И у нас есть более глубокая иерархия с линейными макетами, которая снова вызывает медленный рендеринг.

В относительных макетах, даже если мы получаем плоскую иерархию, но виды измеряются дважды перед отрисовкой, опять же вложенная относительная компоновка (относительная компоновка в другой относительной компоновке) вызовет увеличение времени рендеринга, как сейчас, представление будетизмеряться 4 раза.

3. Было бы лучше использовать компоновку ограничений, чтобы получить лучшую производительность при использовании иерархии с расширенным обзором.

4.Вы также можете рассмотреть возможность использования фрагментовесли внутренняя разметка имеет структуру меню, вызывающую изменения в первом дочернем элементе, с разметкой фрейма в качестве корневого родителя.

Несколько ссылок для понимания преимуществ производительности: -

Разметка AndroidТрюки # 1

Понимание преимуществ производительности ConstraintLayout

...