简体   繁体   中英

Android listview inside relative layout

Have somebody implemented ExpandableListView inside layout? I'm trying to do it and I have problems with height. I want to make it "wrap_content" in order to see fully expanded View when it is expanded. But unfortunately with "wrap_content" parameter I cannot achieve this result. Can somebody help?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent" >

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<RelativeLayout 
    android:layout_width="wrap_content"
    android:layout_height="fill_parent" >

<TextView
    android:id="@+id/user"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_alignParentTop="true"
    android:layout_below="@+id/rl"
    android:layout_toRightOf="@+id/user"
    android:paddingLeft="3dp"
    android:text="Top User"
    android:textColor="#000000"
    android:textSize="22dp" />

<ExpandableListView
    android:id="@+id/elvMain"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/user"
    android:layout_above="@+id/about" >
</ExpandableListView>

<TextView
    android:id="@+id/about"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_alignParentBottom="true"
    android:text="Bottom About"
    android:textColor="#6f6f6f"
    android:textSize="24dp"
    android:textStyle="bold" />
</RelativeLayout>
</ScrollView>
    </RelativeLayout>

Group row in ExpandableListView:

<?xml version="1.0" encoding="utf-8"?>

  <TextView android:id="@+id/groupname"
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:textStyle="bold"
  android:textSize="20dp"
  android:paddingLeft="40dp"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:minHeight="?android:attr/listPreferredItemHeight"
  android:textAppearance="?android:attr/textAppearanceLarge"
  android:background="@drawable/expanded_upper_selector"
  android:gravity="center_vertical"/>

Child Row:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ingredients_selector">



<TextView android:id="@+id/ingredients_second_layer_text"
     android:textStyle="bold"
     android:textSize="20dp"
     android:paddingLeft="50dp"
     android:paddingRight="50dp"
     android:textColor="@color/dark_orange"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:textAppearance="?android:attr/textAppearanceLarge"
     android:gravity="center_vertical"/>

Try your XML edited some-much:

Your_XYZ_Main_XML::

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="#000000" >

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#00ff00" >

            <TextView
                android:id="@+id/user"
                android:layout_width="match_parent"
                android:layout_height="100dp"
                android:paddingLeft="3dp"
                android:text="Top User"
                android:textColor="#111111"
                android:background="#eeeeee"
                android:textSize="22dp" />
            <ExpandableListView
                android:id="@+id/elvMain"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1" >
            </ExpandableListView>
            <TextView
                android:id="@+id/about"
                android:layout_width="match_parent"
                android:layout_height="100dp"
                android:text="Bottom About"
                android:textColor="#6f6f6f"
                android:textSize="24dp"
                android:textStyle="bold" />

        </LinearLayout>
    </ScrollView>
</RelativeLayout>

Group_Row_XML ::

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

        <TextView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/groupname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#159357"  //  YOUR_BACKGROUND
            android:gravity="center_vertical"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:paddingLeft="40dp"
            android:text="Parent text"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textSize="20dp"
            android:textStyle="bold" />

    </RelativeLayout>

Child_Row_XML ::

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


<TextView android:id="@+id/ingredients_second_layer_text"
     android:textStyle="bold"
     android:textSize="20dp"
     android:paddingLeft="50dp"
     android:paddingRight="50dp"
     android:textColor="#ff2211"  //  YOUR_COLOR
     android:text="Child Text"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:textAppearance="?android:attr/textAppearanceLarge"
     android:gravity="center_vertical"/>


</RelativeLayout>

Check out this link - http://about-android.blogspot.in/2010/04/steps-to-implement-expandablelistview.html

Here only one custom text is added.in similar way you can add second one.Try this and if any query you can feel free to ask.Hope this will help you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM