2015-04-28 170 views
0

我在布局上遇到了麻烦。我有ExpandableListView & ListView。当我查看片段ExpandableListView将重叠以上ListView(图片)Android布局重叠

我想要ExpandableListView应该出现后ListView

截图:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 
    <android.support.v7.widget.CardView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
     <ListView 
      android:minWidth="25px" 
      android:minHeight="25px" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/climages" /> 
     <ExpandableListView 
      android:id="@+id/catExpandableListview" 
      android:minWidth="25px" 
      android:minHeight="25px" 
      android:groupIndicator="@android:color/transparent" 
      android:layout_width="fill_parent" 
      android:indicatorRight="45sp" 
      android:layout_height="wrap_content" /> 
     <ProgressBar 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/homeProgress" 
      android:layout_gravity="center" /> 
    </android.support.v7.widget.CardView> 
</FrameLayout> 

被修改:改变的RelativeLayout到的FrameLayout

+0

试着给你布局的背景color.Most最好为白色或其他任何你选择 –

+0

@AnirudhSharma我想ExpandableListView应该出现的列表视图后.. – Raj

+0

尝试在扩展列表视图的Android您的XML添加这一行:layout_below =“@ + id/climages” –

回答

0

尝试使用以下布局代替above.I改性它和它给所期望的结果

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

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"> 
     <ListView 
      android:minWidth="25px" 
      android:minHeight="25px" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/climages" /> 
     <ExpandableListView 
      android:id="@+id/catExpandableListview" 
      android:minWidth="25px" 
      android:minHeight="25px" 
      android:groupIndicator="@android:color/transparent" 
      android:layout_width="fill_parent" 
      android:indicatorRight="45sp" 
      android:layout_height="wrap_content" /> 
    </LinearLayout> 

    <ProgressBar 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/homeProgress" 
     android:layout_gravity="center" /> 

</android.support.v7.widget.CardView> 
+0

ExpandableListView是不可见的。看起来它的列表视图 – Raj

+0

@Raj我猜想可扩展列表视图是可见的。问题可能是,因为您在一个布局中使用两个列表视图,并且您的第一个视图包含足够大的数据以隐藏展开式列表视图。展开式列表视图就在您的列表视图下方。但您无法滚动它,因为您的整个布局不可滚动。 –

+0

@Raj尝试隐藏列表视图,然后查看是否存在可扩展列表视图 –

0

尝试使用android:layout_weight

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"> 

     <android.support.v7.widget.CardView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 

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

       <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:orientation="vertical"> 
        <ListView 
         android:minWidth="25px" 
         android:minHeight="25px" 
         android:layout_width="fill_parent" 
         android:layout_height="0dp" 
         android:id="@+id/climages" 
         android:layout_weight="0.5" /> 
        <ExpandableListView 
         android:layout_width="fill_parent" 
         android:layout_height="0dp" 
         android:id="@+id/catExpandableListview" 
         android:minWidth="25px" 
         android:minHeight="25px" 
         android:groupIndicator="@android:color/transparent" 
         android:indicatorRight="45sp" 
         android:layout_weight="0.5"/> 
       </LinearLayout> 

       <ProgressBar 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/homeProgress" 
        android:layout_gravity="center" /> 
      </RelativeLayout> 
    </android.support.v7.widget.CardView> 
</FrameLayout> 
+0

我不想给他们平等的高度。我只想在列表视图下面展开列表视图 – Raj

+0

我不认为这样做可能会出现重叠问题。也许作为解决方法,您可以将您的两个列表放入ScrollView中,并在每次删除/添加项目时更新其高度。请注意,不建议在对方内使用两个可滚动视图 – Rami