如何在每个节点上创建可消耗的布局

时间:2013-07-31 07:21:10

标签: android

即时创建和应用程序有像这个图像http://imgur.com/TmJT6GI这样的图像http://ranfeng0610.blog.163.com/blog/static/1857082842011727111359969/,当用户点击任何节点时,它会花费并在其中显示另一个屏幕,我将如何做到这一点?我将看到有可用的列表视图可用,但它在每个节点上显示单个列表,例如此示例{{3}}是每个节点中的消费列表视图,用于在到达节点上展开布局节点显示不同的布局用户界面)我将如何制作这样的屏幕?请帮帮我,你有任何想法????

           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 个答案:

答案 0 :(得分:2)

你可以在不使用可扩展列表视图的情况下实现它.u必须只控制你的视图的可见性。

<强> MainActivity

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;
            }

        }
    });


}

<强> activity_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>

如果有帮助请告诉我。