Android 如何在每个节点上创建消耗性布局

Android 如何在每个节点上创建消耗性布局,android,Android,我正在创建一个应用程序,它有三个节点(描述、内容、营养),当用户单击它将花费的任何节点并在其中显示另一个屏幕时,我将如何做到这一点?我将看到有可用的可扩展列表视图,但它在每个节点上显示单个列表,如本例所示,是每个节点上的扩展列表视图。我将在到达节点上扩展布局。所有节点显示不同的布局用户界面)我将如何制作这样的屏幕?请帮帮我你有什么想法吗 1、main.xml <?xml version="1.0" encoding="utf-8"?> <LinearL

我正在创建一个应用程序,它有三个节点(描述、内容、营养),当用户单击它将花费的任何节点并在其中显示另一个屏幕时,我将如何做到这一点?我将看到有可用的可扩展列表视图,但它在每个节点上显示单个列表,如本例所示,是每个节点上的扩展列表视图。我将在到达节点上扩展布局。所有节点显示不同的布局用户界面)我将如何制作这样的屏幕?请帮帮我你有什么想法吗

           1、main.xml
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!-- 禁用系统自带图标android:groupIndicator="@null" -->
<ExpandableListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:groupIndicator="@null"
android:id="@+id/mExpandableListView"
/>
</LinearLayout>
 2、group.xml

  <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation = "horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:layout_width = "25dip"
android:layout_height = "25dip"
android:layout_marginTop="10dip"
android:id="@+id/mImageView"
/>
 <TextView
android:id = "@+id/group_tv"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:paddingLeft = "30px"
android:paddingBottom = "10px"
android:textSize = "26sp"/>
</LinearLayout>
3、child.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation = "horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
 android:layout_gravity = "center_vertical"
 android:id = "@+id/child_iv"
 android:layout_width = "70px"
 android:layout_height = "70px"
 android:paddingLeft = "30px"
 android:paddingTop = "2px"
 android:paddingBottom = "5px"
 android:src = "@drawable/icon"/>
 <TextView
  android:layout_gravity = "center_vertical"
 android:id = "@+id/child_tv"
 android:layout_width = "fill_parent"
 android:layout_height = "fill_parent"
 android:paddingLeft = "30px"
  android:paddingTop = "10px"
 android:paddingBottom = "5px"
 android:textSize = "30sp"/>
 </LinearLayout>
1、main.xml
2、 group.xml
3、 child.xml

u无需使用可扩展列表视图即可实现。您只需控制视图的可见性即可

main活动

boolean flag;
boolean flag2;
LinearLayout llContains;
LinearLayout llContents;
LinearLayout llContains2;
LinearLayout llContents2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


     llContains = (LinearLayout)findViewById(R.id.llContains);
     llContents = (LinearLayout)findViewById(R.id.llContents);
     llContains2 = (LinearLayout)findViewById(R.id.llContains2);
     llContents2 = (LinearLayout)findViewById(R.id.llContents2);

     llContains.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) 
        {
            if(!flag)
            {
                llContents.setVisibility(View.VISIBLE);
                flag = true;
            }
            else
            {
                llContents.setVisibility(View.GONE);
                flag = false;
            }

        }
    });

    llContains2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) 
        {
            if(!flag2)
            {
                llContents2.setVisibility(View.VISIBLE);
                flag2 = true;
            }
            else
            {
                llContents2.setVisibility(View.GONE);
                flag2 = false;
            }

        }
    });


}
活动\u main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  >

  <ScrollView 
  android:layout_width="match_parent"
  android:layout_height="wrap_content">

 <LinearLayout 
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  > 

<LinearLayout 
  android:id="@+id/llContains"  
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:orientation="vertical"
  >

  <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="3dp"
    android:background="#000000"
    >

  </LinearLayout>

  <TextView 
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Contains"
       android:textSize="20dp"
       android:layout_marginLeft="10dp"
       android:padding="10dp"
       />

   <LinearLayout 
   android:id="@+id/llContents"  
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:weightSum="4"
   android:padding="10dp"
   android:visibility="gone"
   >

   <LinearLayout 
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
         android:layout_weight="1"
         android:gravity="center"
        >

   <ImageView 
       android:src="@drawable/ic_launcher"
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
      />

    <TextView 

       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Cheese"
       />

   </LinearLayout>


   <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1"
        android:gravity="center"
        >

    <ImageView 
       android:src="@drawable/ic_launcher"
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:layout_weight="1"/>

     <TextView 

       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Tomatos"
       />

    </LinearLayout>


   <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
         android:layout_weight="1"
         android:gravity="center"
        >
     <ImageView 
       android:src="@drawable/ic_launcher"
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:layout_weight="1"/>

      <TextView 

       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Wheat"
       />

     </LinearLayout>


   <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
         android:layout_weight="1"
         android:gravity="center"
        >
      <ImageView 
       android:src="@drawable/ic_launcher"
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:layout_weight="1"/>

       <TextView 

       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Salt"
       />

      </LinearLayout>

 </LinearLayout>



 </LinearLayout>

   <LinearLayout 
    android:id="@+id/llContains2"  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >

   <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="3dp"
    android:background="#000000"
    >

   </LinearLayout>

  <TextView 
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Contains2"
       android:textSize="20dp"
       android:layout_marginLeft="10dp"
       android:padding="10dp"
       />

    <LinearLayout 
        android:id="@+id/llContents2"  
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="4"
        android:padding="10dp"
        android:visibility="gone"
        >

      <LinearLayout 
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
         android:layout_weight="1"
         android:gravity="center"
        >

   <ImageView 
       android:src="@drawable/ic_launcher"
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
      />

    <TextView 

       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Cheese"
       />

   </LinearLayout>


   <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1"
        android:gravity="center"
        >

    <ImageView 
       android:src="@drawable/ic_launcher"
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:layout_weight="1"/>

     <TextView 

       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Tomatos"
       />

    </LinearLayout>


   <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
         android:layout_weight="1"
         android:gravity="center"
        >
     <ImageView 
       android:src="@drawable/ic_launcher"
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:layout_weight="1"/>

      <TextView 

       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Wheat"
       />

     </LinearLayout>


   <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
         android:layout_weight="1"
         android:gravity="center"
        >
      <ImageView 
       android:src="@drawable/ic_launcher"
       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:layout_weight="1"/>

       <TextView 

       android:layout_height="wrap_content"
       android:layout_width="wrap_content"
       android:text="Salt"
       />

        </LinearLayout>

      </LinearLayout>

    </LinearLayout>

   </LinearLayout>

  </ScrollView>
 </LinearLayout>


如果有帮助,请告诉我。

您可以不使用可扩展列表视图来实现。您只需控制视图的可见性。但是,如果没有要扩展的视图,则最好使用可扩展列表视图。。!但是ExpandableList视图不支持多个屏幕使用单个listview来显示所有节点你知道有没有这样显示屏幕的示例???首先告诉我你的应用程序中有多少个节点?3个节点,每个节点显示不同的屏幕UI@user2589245运行我的代码,然后单击contains.并再次单击它。方法setOnClickListener(View.OnClickListener)在类型视图中不适用于参数(new OnClickListener(){})导入android.View.View.OnClickListener;添加这个@User2589245我想现在可以工作了,但是我搞不清楚我复制和粘贴了三次三个按钮的布局?帮我把这段代码用xml粘贴三次。这么多的线性布局我搞不清楚粘贴这段线性布局代码三次了。这段代码可以工作了,只需要在Mizzle中复制和粘贴三个按钮的xml代码我复制并粘贴bcoz的哪一行布局两个布局的id相同android:id=“@+id/llContents”我不知道如何为三个按钮粘贴此代码