Я хочу разложить свой интерфейс на несколько XML-макетов. Первый из них будет основным макетом, а другие - макетами контента.Android: Как динамически включать XML-макет?
Я хотел бы иметь возможность установить, какой content_layout должен динамически включаться во время выполнения, поэтому я не хочу устанавливать "layout="@+layout/content_layout"
в свой XML-файл.
Вот мои макеты:
main_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="600dp"
android:layout_height="800dp" >
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<include /> <!-- I WANT TO INCLUDE MY CONTENT HERE -->
<Button
android:id="@+id/cancelButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Cancel" />
</RelativeLayout>
content_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/whatever"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
content_layout2.xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/whatever2"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
Как я могу сделать что?
Спасибо!
Я попытался использовать addView в другом случае, но это выглядело как макет, где накладывались друг на друга. Второй ребенок означает на втором уровне, так что под моим RelativeLayout право? Могу ли я использовать ссылки как android: layout_belowe = "@ + id/title" в моем макете контента, если они не определены в одном файле XML? Если нет, то как они предполагают знать, как вставить его в нужное место? Спасибо – nbarraille
Было бы добавлено, где вы положили воздаяние (// Я ХОЧУ ВКЛЮЧАТЬ МОЕ СОДЕРЖАНИЕ ЗДЕСЬ ????). Для сложных макетов вы всегда можете прокручивать дочерние элементы представления (групп) через getChildCount(), getChildAt() и добавлять представление, где хотите. Кроме того, вы можете установить id через view.setId() в коде, а затем обратиться к этому. Но, конечно, это будет константа в коде, а не через R.id.someId, поскольку идентификатор, назначенный через java-код, не находится в вашем R-файле. –
Хорошо, я понял, индекс 1 (второй ребенок) на самом деле означает, что он будет вставлен между заголовком и кнопкой, 0 было бы до названия и т. Д. Спасибо. – nbarraille