滑动列表视图布局Android

时间:2013-02-04 09:48:13

标签: android android-layout listview layout

我正在创建一个应用程序,其中包含一个带有右侧按钮的标题,当我点击它时应该将列表视图向左滑动(类似于Facebook中的聊天列表)

enter image description here - > enter image description here

当我在不包含列表视图的情况下包含此标题时,它正常工作。但是现在我将这个列表视图插入到标题的.xml文件中(因为标题总是为用户显示,他可以在为他显示的任何布局中单击此列表视图按钮)。 我希望将此标题包含在所有其他布局中而不改变它们的外观并在每次单击按钮时显示此列表的问题。 我搜索并找到了很多答案,但每个解决方案都与我在每个页面中的前一个屏幕截图中所做的相同,这对于多个页面来说不是一个乐观的解决方案。

*我正在使用API​​级别10,并希望在不使用Actionbar的情况下找到解决方案。

请告诉我,如果有更多信息有用,我们将非常感谢任何帮助。 提前谢谢。

更新我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/GeneralRelativeLayout"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical">
    <RelativeLayout android:id="@+id/rel_layout"
                    android:layout_width="200dp"
                    android:layout_height="fill_parent"
                    android:background="@android:color/white" android:layout_alignParentRight="true">
        <LinearLayout android:id="@+id/fake_layout"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:orientation="vertical"
                      android:visibility="gone"></LinearLayout>
        <ListView android:id="@+id/list_view"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:layout_gravity="right"
                  android:background="@android:color/background_dark"
                ></ListView>
    </RelativeLayout>
    <RelativeLayout android:id="@+id/rel_layout_second"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="@android:color/black">
        <LinearLayout android:id="@+id/lin_layout"
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content"
                      android:background="@android:color/background_light"
                      android:orientation="vertical"
                      android:layout_centerHorizontal="true" android:layout_alignParentTop="true">
            <Button android:id="@+id/button"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="slide"
                    android:layout_gravity="right|center"></Button>
        </LinearLayout>
    </RelativeLayout>
</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

猜猜这应该是一种方法:

<?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:clickable="false">
    <LinearLayout
            android:id="@+id/thisistopbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:paddingLeft="3dp"/>
    <include here listview etc../>
</LinearLayout>

您还可以将顶栏设为常规栏并将其包含在每个屏幕中。但基本思路就像上面的xml一样,并将按钮放在顶部栏上。

答案 1 :(得分:1)

尝试使用RelativeLayoutListView创建android:visibility="gone",并在另一个RelativeLayout内为同一用户界面中的所有其他组件创建。{/ p>

然后在菜单状态打开或关闭时更改其可见性。