禁用SlidingPaneLayout的滑动手势

时间:2015-08-22 05:56:23

标签: android swipe-gesture slidingpanelayout

我有一个包含ListView的滑动窗格布局。我有一个按钮来打开滑动窗格。因此,我想禁用此滑动窗格的滑动手势,当我尝试访问同一布局中的任何其他视图时,这会产生问题。

无论如何只是禁用滑动手势并且按钮功能应该有效吗?它应该像往常一样在按钮点击时打开和关闭滑动窗格。

以下是我的XML布局的一部分:

<android.support.v4.widget.SlidingPaneLayout
    android:id="@+id/sliding_pane_layout_accountHome"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff" >

    <LinearLayout
        android:layout_width="280dp"
        android:layout_height="match_parent"
        android:orientation="vertical" 
        android:background="#FFFFFF">

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

    </LinearLayout>
</android.support.v4.widget.SlidingPaneLayout>

以下是按钮功能的代码

slidingLayout1 = (SlidingPaneLayout) findViewById(R.id.sliding_pane_layout_accountHome);
slidingLayout1.openPane();

iv_menu=(ImageView)findViewById(R.id.iv_menu);
    iv_menu.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) 
        {
            if(slidingLayout1.isOpen()==true)
            {
                slidingLayout1.closePane();
            }
            else
            {
                slidingLayout1.openPane();
            }

        }
    });

2 个答案:

答案 0 :(得分:0)

我没有使用SDK中的slidepanel,但这个com.sothree.slidinguppanel完美运行。你不会对这个库有这个问题。

答案 1 :(得分:0)

我知道这个帖子已经很老了,但如果有人想在不覆盖任何内容的情况下解决这个问题,您只需要将布局菜单的 layoutParams 的宽度设置为零。

binding.clMenu.layoutParams.width = 0 其中 clMenuSlidingPaneLayout 中声明的第一个布局。