如何在替代触摸上隐藏/显示列表视图

时间:2013-09-10 09:09:14

标签: android listview android-listview

我有一个列表视图。现在我需要隐藏/显示列表视图。列表视图位于我的屏幕的左下角,现在我想要的是当我触摸我的布局的左角时,我的列表视图应该隐藏,当我再次触摸它应该显示时,只需隐藏/显示关于其他触摸事件的列表视图。这是类似的比如在播放视频时隐藏媒体播放器中的搜索栏。我可以在布局中显示/隐藏它,但我希望listview能够在我触摸屏幕的左角时准确显示和隐藏。我尝试使用触摸式监听器和其他人,但是当我触摸屏幕的角落时我需要这样做。作为一个新手,帮助我实现这一目标。提前致谢

5 个答案:

答案 0 :(得分:0)

简单易行的方法是

1)在您想要的角落放置一个按钮(如果您不想让按钮透明,请将按钮设为透明)。

2)在该按钮上设置点击监听器。

例如

Button corner;
corner.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if(lstview.getVisibility()==View.VISIBLE){
                    lstview.setVisibility(View.GONE);
                }else{
                    lstview.setVisibility(View.VISIBLE);
                }
            }
        });

答案 1 :(得分:0)

object.setVisibility(View.INVISIBLE)或show mateobject.setVisibility(View.VISIBLE)

答案 2 :(得分:0)

我认为最简单的解决方案(不是最优雅的)是在布局的左角放置一个透明视图(在另一个上方)并在其上设置一个点击监听器。

xml:

<RelativeLayout 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" >

    <View
        android:id="@+id/invisible_view"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_width="50dp"
        android:layout_height="match_parent" 
      />

    <ListView
        android:id="@+id/listView"
           android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ListView>

</RelativeLayout>

OnClickListener

OnClickListener onClickHide = new OnClickListener(){

        @Override
    public void onClick(View v) {
        if(listView.isShown()) {
            listView.setVisibility(View.GONE);
        } else {
            listView.setVisibility(View.VISIBLE);
        }           
    }       
};

答案 3 :(得分:0)

我认为你应该尝试Sliding Menu Library .....这将完全符合您的要求

答案 4 :(得分:0)

参考this与问题类似的博客,并从this博客学习各种动画技巧。这给我的问题提供了一个整体的想法。随着这个我解决了我的问题。希望这会有助于其他人: - )