Динамическое добавление содержимого в линейную компоновку?
Если, например, я определил корневую линейную компоновку, ориентация которой вертикальная:
main.xml :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_root" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical"
Внутри корневой линейной компоновки я хотел бы добавить несколько дочерних линейных макетов , каждая из которых ориентирована по горизонтали . Со всем этим я мог бы получить таблицу как выход.
- Android: программно добавление кнопок в макет
- Как добавить переключатель в панель действий Android?
- Android listview с кнопками верхнего и нижнего колонтитула
- Android: установите цвет CheckBox
- Как создать фиксированный нижний колонтитул в макете android?
Например, root с дочерним макетом, например:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_root" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="vertical" ...
Поскольку число дочерних линейных макетов и их содержимое довольно динамичны, я решил программно добавить контент в корневой линейный макет.
Как можно добавить второй макет к первому программному обеспечению, который также может установить все атрибуты макета для каждого дочернего элемента и добавить другие элементы внутри дочернего элемента?
- В чем разница между атрибутами background, backgroundTint, backgroundTintMode в макете xroid?
- Пользовательский макет, который округляет углы его содержимого
- как проектировать любой размер экрана и плотность в Android (многоэкранный режим для мобильных телефонов в Android)
- Как сделать вид в андроиде с закругленными углами
- Что означает эллипсис в андроиде?
- Центрировать кнопку в линейном макете
- Устройства Android с разной высотой принимают ту же папку макета
- RelativeLayout принимает полноэкранный режим для wrap_content
В своем onCreate()
напишите следующее
LinearLayout myRoot = (LinearLayout) findViewById(R.id.my_root); LinearLayout a = new LinearLayout(this); a.setOrientation(LinearLayout.HORIZONTAL); a.addView(view1); a.addView(view2); a.addView(view3); myRoot.addView(a);
view1
, view2
и view3
– это ваши TextView
. Они легко создаются программно.
LinearLayout layout = (LinearLayout)findViewById(R.id.layout); View child = getLayoutInflater().inflate(R.layout.child, null); layout.addView(child);
Вы можете добиться каскадирования LinearLayout следующим образом:
LinearLayout root = (LinearLayout) findViewById(R.id.my_root); LinearLayout llay1 = new LinearLayout(this); root.addView(llay1); LinearLayout llay2 = new LinearLayout(this); llay1.addView(llay2);