Ниже представлен чертеж, который я создал с помощью кода под ним. Однако я намерен использовать его несколько раз с файлом макета. Кто-нибудь знает, какой лучший способ был бы, чтобы удалить линейные макеты, сохраняя при этом тот же внешний вид этого чертежа и сохраняя минимальное количество просмотров?Как нарисовать пользовательские декорации, иначе как с помощью XML-макетов?
Основным преимуществом использования линейного макета является тот факт, что весы макета могут использоваться для равномерного распределения прямоугольников, но, к сожалению, когда линейные макеты удаляются, и приходится отвечать на относительную компоновку, представляется невозможным без использования единицы измерения dp (с этим я не хочу, особенно учитывая тот факт, что экраны Android бывают разных размеров).
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#808080" >
<include
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
layout="@layout/textview_carriage2"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="10dp"
android:layout_alignParentTop="true"
android:orientation="horizontal"
android:weightSum="100"
android:baselineAligned="false" >
<include
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="20"
layout="@layout/view_emptyrect_red"/>
<include
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_weight="7"
layout="@layout/view_spacebetweenwindows"/>
<include
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="20"
layout="@layout/view_emptyrect_red"/>
<include
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_weight="6"
layout="@layout/view_spacebetweenwindows"/>
<include
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="20"
layout="@layout/view_emptyrect_red"/>
<include
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_weight="7"
layout="@layout/view_spacebetweenwindows"/>
<include
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="20"
layout="@layout/view_emptyrect_red"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="10dp"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:weightSum="100"
android:baselineAligned="false" >
<include
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="20"
layout="@layout/view_emptyrect_red"/>
<include
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_weight="7"
layout="@layout/view_spacebetweenwindows"/>
<include
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="20"
layout="@layout/view_emptyrect_red"/>
<include
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_weight="6"
layout="@layout/view_spacebetweenwindows"/>
<include
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="20"
layout="@layout/view_emptyrect_red"/>
<include
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_weight="7"
layout="@layout/view_spacebetweenwindows"/>
<include
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="20"
layout="@layout/view_emptyrect_red"/>
</LinearLayout>
</RelativeLayout>
Если вам нужны только красные прямоугольники как украшение затем создать пользовательские 'View' и переопределить' OnDraw() 'метод. – Lamorak
Я не хочу использовать onDraw, XML проще для меня, так как позже я заполню прямоугольник красным – MacaronLover
Использование 'onDraw()' было бы очень просто. Другой вариант - использовать 9patch. XML слишком много для этого, но если вы хотите придерживаться его, удачи! – Lamorak