ExpandableListView与RelativeLayout中的Text重叠

时间:2014-03-28 23:09:46

标签: android relativelayout expandablelistview

我有相对布局("亲戚"),可点击布局("可点击")位于&#34下的顶部可扩展列表视图(" lview") ;可点击","页脚"我的应用程序版本的文本视图位于" relative":

的底部
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/menu_background" >

<com.reconti.app.widgets.Logo
    android:id="@+id/reconti_menu_tv_logo"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/actionBarSize"
    android:layout_alignParentTop="true"
    android:gravity="center_vertical"
    android:paddingLeft="@dimen/standart_side_margin"
    android:textSize="30sp" />

<RelativeLayout
    android:id="@+id/clickable"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/menu_tv_logo"
    android:layout_marginBottom="10dp"
    android:layout_marginTop="10dp"
    android:clickable="true"
    android:paddingLeft="@dimen/standart_side_margin" >

    <com.reconti.app.widgets.RoundedImageView
        android:id="@+id/menu_profile_avatar"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:scaleType="fitCenter"
        android:src="@drawable/com_facebook_profile_picture_blank_portrait" />

    <TextView
        android:id="@+id/menu_user_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@id/menu_profile_avatar"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/white" />
</RelativeLayout>

<ExpandableListView
    android:id="@+id/lview"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:childDivider="@color/menu_divider_color"
    android:divider="@color/menu_divider_color"
    android:dividerHeight="1dp"
    android:footerDividersEnabled="false"
    android:groupIndicator="@null"
    android:headerDividersEnabled="false"
    android:listSelector="@drawable/expandable_row_background" />

<TextView
    android:id="@+id/footer"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="10dp"
    android:gravity="center"
    android:singleLine="true"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textColor="@color/white" />
</RelativeLayout>

只要用户在可扩展列表中点击某个选项,一切看起来都很好。然后&#34; lview&#34;重叠&#34;页脚&#34;。我想达到效果,那就是&#34; lview&#34;仍然位于&#34;页脚&#34;和&#34;页脚&#34;仍然在&#34;亲属&#34;的底部并且只有&#34; lview&#34;用户可以看到(所以顶部在&#34;可点击&#34;)。我希望我能清楚地解释它:)

1 个答案:

答案 0 :(得分:1)

通常我喜欢在需要保持视图上方视图时使用linearlayout。我不喜欢相对布局有时如何运作。好吧,你可以试试我的想法,我知道这适用于列表,但没有尝试使用可扩展列表(但猜测会起作用)。

  • LinearLayout vertical @relative
    • Logo @reconti_menu_tv_logo
    • RelativeLayout @clickable
    • ListView重量1 @lview
    • TextView @footer

在此,只有ListView会滚动。我不知道这是不是你想要的。您的徽标,可点击和页脚将被修复。 重量1是保持你的listivew使用所有未使用的空间,所以你的页脚将始终在&#34;页脚&#34;。使用体重时不要忘记身高0dp。

现在,如果您想要所有滚动,则必须在设置适配器之前在列表中使用addHeader(View)和addFooter(View)。 (这是更好的方式)