当我点击按钮时在新 activity 中生成 axml

Generate axml in new activity when I tap button

我需要将一个 axml 块插入一个新的 activity。

activityaxml的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:minHeight="25px"
    android:id="@+id/linearLayout6">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="158.5dp"
        android:id="@+id/linearLayout7"
        android:background="@drawable/header1">
        <LinearLayout
            android:orientation="horizontal"
            android:minWidth="25px"
            android:minHeight="25px"
            android:layout_width="match_parent"
            android:layout_height="81.8dp"
            android:id="@+id/linearLayout8"
            android:background="@drawable/s2">
            <ImageButton
                android:src="@drawable/menu"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/menuButton"
                android:gravity="center"
                android:layout_marginRight="78.9dp"
                android:background="#00000000"
                android:layout_marginTop="16.3dp"
                android:layout_marginLeft="11.6dp" />
            <ImageButton
                android:src="@drawable/logo_murakami"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/logoButton"
                android:gravity="center"
                android:layout_marginLeft="4.6dp"
                android:layout_marginRight="63.5dp"
                android:background="#00000000"
                android:layout_marginTop="6.0dp"
                android:clickable="true" />
            <ImageButton
                android:src="@drawable/cart"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/cartButton"
                android:background="#00000000"
                android:layout_marginTop="16.3dp"
                android:clickable="true" />
        </LinearLayout>
        <LinearLayout
            android:orientation="horizontal"
            android:minWidth="25px"
            android:minHeight="25px"
            android:layout_width="match_parent"
            android:layout_height="79.2dp"
            android:id="@+id/linearLayout9"
            android:background="#99000000">
            <ImageButton
                android:src="@drawable/cart2"
                android:layout_width="45.4dp"
                android:layout_height="47.9dp"
                android:id="@+id/imageButton4"
                android:background="#00000000"
                android:layout_marginTop="18.0dp"
                android:layout_marginLeft="8.5dp" />
            <TextView
                android:text="КОШИК"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:layout_width="296.4dp"
                android:layout_height="match_parent"
                android:gravity="bottom"
                android:paddingBottom="24dp"
                android:textColor="#ffffffff"
                android:id="@+id/textView1"
                android:layout_marginLeft="8.4dp"
                android:textSize="23sp" />
        </LinearLayout>
    </LinearLayout>
    <ScrollView
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="390.3dp"
        android:id="@+id/scrollView2"
        android:background="@drawable/middle1">
        <LinearLayout
            android:orientation="vertical"
            android:minWidth="25px"
            android:minHeight="25px"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/linearLayout12">
            <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="147.6dp"
                android:id="@+id/linearLayout13">
                <ImageView
                    android:src="@drawable/sushi"
                    android:layout_width="123.1dp"
                    android:layout_height="match_parent"
                    android:id="@+id/image1"
                    android:background="#000" />
                <LinearLayout
                    android:orientation="vertical"
                    android:minWidth="25px"
                    android:minHeight="25px"
                    android:layout_width="5dp"
                    android:layout_height="match_parent"
                    android:id="@+id/linearLayout14"
                    android:background="#cf8632" />
                <LinearLayout
                    android:orientation="vertical"
                    android:minWidth="25px"
                    android:minHeight="25px"
                    android:layout_width="184.9dp"
                    android:layout_height="match_parent"
                    android:id="@+id/linearLayout15">
                    <TextView
                        android:textAppearance="?android:attr/textAppearanceMedium"
                        android:layout_width="181.9dp"
                        android:layout_height="63.3dp"
                        android:id="@+id/posttittle"
                        android:textColor="#ffffffff"
                        android:layout_marginLeft="7.7dp"
                        android:textSize="14sp" />
                    <LinearLayout
                        android:orientation="horizontal"
                        android:minWidth="25px"
                        android:minHeight="25px"
                        android:layout_width="match_parent"
                        android:layout_height="93.8dp"
                        android:id="@+id/linearLayout16">
                        <TextView
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:layout_width="wrap_content"
                            android:layout_height="48.7dp"
                            android:id="@+id/price"
                            android:layout_marginTop="39.8dp"
                            android:layout_marginLeft="5.5dp"
                            android:textColor="#ffffffff" />
                        <TextView
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:layout_width="58.8dp"
                            android:layout_height="53.3dp"
                            android:id="@+id/weight"
                            android:layout_marginLeft="21.5dp"
                            android:layout_marginTop="41.9dp"
                            android:textColor="#faaf56"
                            android:paddingTop="7dp" />
                    </LinearLayout>
                </LinearLayout>
            </LinearLayout>
            <LinearLayout
                android:orientation="horizontal"
                android:minWidth="25px"
                android:minHeight="25px"
                android:layout_width="match_parent"
                android:layout_height="5dp"
                android:id="@+id/linearLayout23"
                android:background="#99999999" />

        </LinearLayout>
    </ScrollView>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="68.6dp"
        android:id="@+id/linearLayout10">
        <Button
            android:text="ОЧИСТИТИ КОШИК"
            android:layout_width="180.8dp"
            android:layout_height="68.6dp"
            android:id="@+id/ochistitiButton"
            android:background="#747271"
            android:textSize="18sp"
            android:textStyle="bold"
            android:textColor="#ffffff" />
        <Button
            android:text="ОФОРМИТИ"
            android:layout_width="180.8dp"
            android:layout_height="69.3dp"
            android:id="@+id/oformitButton"
            android:textSize="19sp"
            android:background="#c98f4a"
            android:textStyle="bold"
            android:textColor="#ffffff" />
    </LinearLayout>
</LinearLayout>

产品块的xml代码。

 <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:layout_height="147.6dp"
                android:id="@+id/linearLayout13">
                <ImageView
                    android:src="@drawable/sushi"
                    android:layout_width="123.1dp"
                    android:layout_height="match_parent"
                    android:id="@+id/image1"
                    android:background="#000" />
                <LinearLayout
                    android:orientation="vertical"
                    android:minWidth="25px"
                    android:minHeight="25px"
                    android:layout_width="5dp"
                    android:layout_height="match_parent"
                    android:id="@+id/linearLayout14"
                    android:background="#cf8632" />
                <LinearLayout
                    android:orientation="vertical"
                    android:minWidth="25px"
                    android:minHeight="25px"
                    android:layout_width="184.9dp"
                    android:layout_height="match_parent"
                    android:id="@+id/linearLayout15">
                    <TextView
                        android:textAppearance="?android:attr/textAppearanceMedium"
                        android:layout_width="181.9dp"
                        android:layout_height="63.3dp"
                        android:id="@+id/posttittle"
                        android:textColor="#ffffffff"
                        android:layout_marginLeft="7.7dp"
                        android:textSize="14sp" />
                    <LinearLayout
                        android:orientation="horizontal"
                        android:minWidth="25px"
                        android:minHeight="25px"
                        android:layout_width="match_parent"
                        android:layout_height="93.8dp"
                        android:id="@+id/linearLayout16">
                        <TextView
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:layout_width="wrap_content"
                            android:layout_height="48.7dp"
                            android:id="@+id/price"
                            android:layout_marginTop="39.8dp"
                            android:layout_marginLeft="5.5dp"
                            android:textColor="#ffffffff" />
                        <TextView
                            android:textAppearance="?android:attr/textAppearanceMedium"
                            android:layout_width="58.8dp"
                            android:layout_height="53.3dp"
                            android:id="@+id/weight"
                            android:layout_marginLeft="21.5dp"
                            android:layout_marginTop="41.9dp"
                            android:textColor="#faaf56"
                            android:paddingTop="7dp" />
                    </LinearLayout>
                </LinearLayout>
            </LinearLayout>

如何通过点击按钮以编程方式将此块插入到新的 activity 中?

您可以将此 xml 膨胀为一个变量并将其添加到视图层次结构中:

RelativeLayout item = (RelativeLayout)findViewById(R.id.item);
View child = getLayoutInflater().inflate(R.layout.product_block, null);
item.addView(child);

您可以在 activity 的布局中插入产品块的 xml,并在您按下按钮之前将其隐藏(消失)。

 ...
 <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="147.6dp"
            android:id="@+id/linearLayout13"
            android:visibility="GONE">
 ...

然后点击按钮:

 findViewById(R.id.<button_id_here>).setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View v){
     findViewById(R.id.linearLayout13).setVisibility(View.VISIBLE);
   }
 });

我正在做这个,所以可能会有任何错误:)