打开滑动抽屉时,使网格视图不可滚动

时间:2014-05-27 14:43:20

标签: android gridview scroll android-scroll non-scrolling

我有一个SlidingDrawer作为GridView的兄弟,当滑动抽屉被打开时,如果它滚动(在滑动抽屉内),后面的网格视图也会滚动。

我的实施方式如下:

@Override
    public void onDrawerOpened() {
    gridView.setEnabled(false);
}

@Override
    public void onDrawerClosed() {
    gridView.setEnabled(true);
}

并且还使用this线程中提到的OnTouchListener()实现,但它仍然会滚动。

注意:以上impl。适用于gridview中的每个项目都是不可点击的情况,但如果gridview中的每个项目都是可点击的,则会滚动它

更新: 实际上,setEnabled()OnTouchListener()不起作用,因为当滚动焦点时,会转到gridview的内部元素(其中设置了单击侦听器),并使gridview滚动。有没有解决这个问题?

1 个答案:

答案 0 :(得分:0)

找到了解决方法,

<强> sliding_drawer.xml

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Slider" />

<LinearLayout
    android:id="@+id/content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true" >                 <---- Make the content click able so the focus goes to this and makes the list, grid view at back to stop scrolling.

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TetxtView 1" />
</LinearLayout>