gpt4 book ai didi

android - 将 View /布局膨胀到另一个布局?

转载 作者:IT王子 更新时间:2023-10-28 23:35:08 26 4
gpt4 key购买 nike

我正在寻找一种方法将另一个布局膨胀到 android 中的第一个布局中。如何做到这一点?这是两个 XML 文件。第一个是主布局,第二个是我要充气到第一个的布局。

我不能只包含布局,因为稍后我将使用此方法将其他布局填充到线框中。

代码也位于:http://pastebin.com/wjZ4s1cs因为 stackoverflow 不喜欢 XML。

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff000000"
>
<TextView
android:id="@+id/headerMenuText"
android:text="@string/main_menu_title"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:textSize="16pt"
android:paddingTop="10px"
android:paddingBottom="10px"
android:gravity="center"
>
</TextView>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_y="100dip"
android:gravity="center"
android:layout_gravity="center"
>
<TableRow
android:gravity="center"
android:layout_gravity="center">
<ImageView
android:id="@+id/menuItem1"
android:layout_height="101dip"
android:layout_width="89dip"
android:src="@drawable/icon_settings"
></ImageView>

<ImageView
android:id="@+id/menuItem2"
android:layout_height="101dip"
android:layout_width="89dip"
android:src="@drawable/icon_system_restart"
></ImageView>

<ImageView
android:id="@+id/menuItem3"
android:layout_height="101dip"
android:layout_width="89dip"
android:src="@drawable/icon_game_history"
></ImageView>

<ImageView
android:id="@+id/menuItem4"
android:layout_height="101dip"
android:layout_width="89dip"
android:src="@drawable/icon_game_correction"
></ImageView>

<ImageView
android:id="@+id/menuItem5"
android:layout_height="101dip"
android:layout_width="89dip"
android:src="@drawable/icon_game_other"
></ImageView>
</TableRow>

<TableRow android:gravity="center">
<TextView
android:id="@+id/menuItemText1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/main_menu_item_text_1"
android:layout_gravity="center"
android:gravity="center"
></TextView>

<TextView
android:id="@+id/menuItemText2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/main_menu_item_text_2"
android:layout_gravity="center"
android:gravity="center"
></TextView>

<TextView
android:id="@+id/menuItemText3"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/main_menu_item_text_3"
android:layout_gravity="center"
android:gravity="center"
></TextView>

<TextView
android:id="@+id/menuItemText4"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/main_menu_item_text_4"
android:layout_gravity="center"
android:gravity="center"
></TextView>

<TextView
android:id="@+id/menuItemText5"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/main_menu_item_text_5"
android:layout_gravity="center"
android:gravity="center"
></TextView>

</TableRow>
</TableLayout>
<View or layout
android:id="@+id/screen_layout_bottom_menu"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</View or layout>
</AbsoluteLayout>

第二个布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/screen_bottom_menu"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
>
<TableLayout
android:id="@+id/screen_bottom_menu_table"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
>
<TableRow>
<ImageView
android:id="@+id/screen_bottom_menu_button_back"
android:src="@drawable/back">
</ImageView>

<ImageView
android:id="@+id/screen_bottom_menu_button_ok"
android:src="@drawable/checkmark">
</ImageView>

<ImageView
android:id="@+id/screen_bottom_menu_button_cancel"
android:src="@drawable/xmark">
</ImageView>

<ImageView
android:id="@+id/screen_bottom_menu_button_key_toggle"
android:src="@drawable/lock">
</ImageView>
</TableRow>
</TableLayout>
</LinearLayout>

最佳答案

ViewStub,但我没用过,我觉得不能用多次。

您可以扩展菜单布局并将其附加到主布局:

AbsoluteLayout mainLayout = (AbsoluteLayout) findViewById(R.id.your_main_layout);
LayoutInflater inflater =
(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View menuLayout = inflater.inflate(R.layout.your_menu_layout, mainLayout, true);

然后当你想改变你可以删除它:

mainLayout.removeView(menuLayout);

并以相同的方式添加另一个。

这将起作用,因为您想将布局添加为父布局的最后一个子布局。如果你想在第一个位置添加它,你可以在不将它附加到父级的情况下扩展你的布局(使用 false 作为最后一个参数),并手动添加它指定索引:

mainLayout.addView(menuLayout, 0);

关于android - 将 View /布局膨胀到另一个布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5342121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com