Android: как использовать XML для пользовательского макета представления - PullRequest
3 голосов
/ 31 января 2011

Я из мира GWT и UIBinder, где я привык определять собственные компоненты, расширяя Composite, а затем помещая весь код макета пользовательского интерфейса в файл MyComponent.ui.xml. Это очень хороший способ собрать компоненты из более мелких частей.

Я пытаюсь добиться того же эффекта на Android с помощью пользовательских видов. Мне удалось программно расширить View, а затем добавить объекты, вызвав addView(textView). Я хотел бы иметь возможность сделать это в XML, но я не вижу, как связать файл макета xml с представлением (кроме основного файла res/layout/main.xml, который предоставляет основной макет для приложения.

Как я могу расположить свои пользовательские представления в XML?

Редактировать: Мой вопрос был неясным. Я хочу связать файл my_widget.xml с моим настроенным видом. Затем в my_widget.xml я хотел бы определить различные TextViews и т. Д. И подключить их к моему классу View.

Ответы [ 3 ]

13 голосов
/ 31 января 2011

Используйте полное имя вашего пользовательского класса представления вместо одного из встроенных представлений. Вот макет, например, который заполняет окно вашим классом:

<?xml version="1.0" encoding="utf-8"?>
<my.package.MyCustomView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/my_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />
3 голосов
/ 01 февраля 2011

Чтобы построить представления из XML, используйте LayoutInflater .

0 голосов
/ 31 января 2011

Вы можете использовать findViewById (int id) с идентификатором, определенным в XML. См. Пример в документации для Android здесь (прокрутите вниз до ID ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...