Моя ситуация следующая.У меня есть один Activity
, который содержит три основные части.В верхней части этого занятия есть панель инструментов с двумя ImageButtons
.В нижней части упражнения также есть панель инструментов, аналогичная верхней.
Основной компонент этого действия находится в центре экрана, который является LinearLayout
, который содержит сетку 3x3 ImageButtons
.Чтобы получить контекст, я быстро опишу назначение этих кнопок сетки.
Эта сетка 3x3 описывает состояния этих кнопок (скажем, кнопки переключения и ее состояния вкл / выкл) для определенного дня.Итак, на один день у вас есть один набор 3х3, и у них есть свое собственное состояние для определенного дня.
Теперь я пытаюсь добиться функциональности, которая позволяет пользователю прокручивать таблицы или даты соответственно.Моя идея - иметь ViewFlipper
в качестве основного компонента действия (вместо LinearLayout
) и одну или несколько сеток кнопок.Это то, что у меня уже есть.Я могу переключить 3х3 на другой 3х3 (с состояниями) на другой день.Для этого я просто копирую / вставляю свое определение XML сетки 3х3 и помещаю его в качестве дочерних элементов для просмотра флиппера (x-times).
Моя идея состоит в том, чтобы иметь одно определение 3x3 и повторно использовать его x-раз, как в некотором роде.шаблона, поэтому я смогу сказать: «Я хочу иметь еще 3х3 с такими-то состояниями на этот день, и я хочу, чтобы он добавил это как следующий потомок к ViewFlipper
».
Для этой цели (чтобы иметь компонент 3x3) Я просто сделал класс, который расширяет LinearLayour
и внутри него я хочу сгенерировать / повторно использовать определение 3x3 для кнопок.Конечно, я могу сделать это с помощью Java-кода в этом новом классе, но есть ли способ сделать это с помощью повторного использования XML (что лучше поддерживать и читать)?
Я пытался использовать LayoutInflater
, ноэто, вероятно, не то, что я ищу.
Заранее спасибо
Редактировать
Вот код для основного макета с флиппером
<ViewFlipper android:id="@+id/view_flip"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#FF0000">
<!-- Here goes 9x9 cubbie layout programaticaly -->
</ViewFlipper>
К этому фипперу я добавил вид с этим макетом (этот код назначен через LayoutInflater).
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/background" android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_weight="1">
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_weight="1" android:gravity="center">
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="vertical">
<ImageButton android:id="@+id/life_att_1" style="@style/AttributeButton" />
<TextView android:id="@+id/life_att_text_1" android:text="test"
style="@style/AttributeText" />
</LinearLayout>
...
</LinearLayout>
...
</LinearLayout>
РЕДАКТИРОВАТЬ 2
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/background" android:orientation="vertical"
android:layout_width="wrap_content" android:layout_height="fill_parent"
android:layout_weight="1" android:paddingLeft="16dip">