Как повторно использовать линейный макет в Android? - PullRequest
0 голосов
/ 09 июня 2019

У меня есть макет, который состоит из такой иерархии:

<ScrollView>
    <LinearLayout <!-- vertical orientation --> >
        <LinearLayout <!-- horizontal orientation --> >
            <TextView/>
            <TextView/>  
        </LinearLayout>
    </LinearLayout>
</ScrollView>

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

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

1 Ответ

1 голос
/ 09 июня 2019

Для этого вы можете использовать тег для повторного использования одного и того же макета.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/app_bg"
android:gravity="center_horizontal">

<include layout="@layout/titlebar"
         android:id="@+id/linear1/>
<include layout="@layout/titlebar"
         android:id="@+id/linear2/>

...

Теперь вы можете получить доступ к вашему другому линейному макету через их идентификатор, а для textView внутри вашего общего линейного макета также можно получить доступ через идентификатор включения. say linear1.textView.setText = "Текст TDemo". Установите ваш текст во время выполнения. Надеюсь, что это решит вашу проблему. Для лучшей идеи, пожалуйста, пройдите через это: https://developer.android.com/training/improving-layouts/reusing-layouts

...