【问题标题】:Programmatically hide the handle of a sliding drawer以编程方式隐藏滑动抽屉的把手
【发布时间】:2011-09-01 05:54:19
【问题描述】:

有没有办法在打开滑动抽屉时隐藏滑动抽屉的把手?我尝试在触发 OnDrawerOpenListener 时使用 setVisibility(View.GONE) 方法,但句柄仍然可见。是否可以隐藏抽屉的把手或者它总是可见的?这是我滑动抽屉的 xml 的 sn-p:

        <SlidingDrawer android:layout_width="wrap_content"
        android:id="@+id/notifDrawer" android:handle="@+id/notifHandle"
        android:content="@+id/notifContent" android:layout_height="fill_parent"
        android:orientation="horizontal">
        <LinearLayout android:id="@+id/notifHandle"
            android:layout_width="wrap_content" android:layout_height="fill_parent"
            android:background="@drawable/button_selected" android:orientation="vertical"
            android:padding="0dip" android:gravity="center">
            <TextView android:id="@+id/notification_count"
                android:visibility="gone" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:textSize="10sp"
                android:textStyle="bold" android:textColor="#FFFFFF"
                android:gravity="center" android:background="@drawable/badge">
            </TextView>
        </LinearLayout>
        <ListView android:id="@+id/notifContent"
            android:layout_width="fill_parent" android:layout_height="fill_parent"
            android:background="#C0C0C0" android:divider="@drawable/divider"
            android:fadingEdge="none">
        </ListView>
    </SlidingDrawer>

【问题讨论】:

    标签: android hide handle sliding drawer


    【解决方案1】:

    以下技巧对我有用

        <Button
          android:id="@+id/handle"
          android:layout_width="0dp"
          android:layout_height="0dp"
          android:background="#00000000" />
    

    【讨论】:

    • 如果我们这样做,由于宽度和高度的原因,该句柄将是不可见的。那么您如何处理 SlidingDrawer 的触摸(或滑动)事件。如果您有解决方案,请告诉我。
    • 我创建了一个用于处理触摸事件的按钮。
    【解决方案2】:

    我所做的是下面能够隐藏句柄:

    <LinearLayout android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:gravity="bottom"
            android:orientation="vertical">
            <SlidingDrawer android:layout_width="fill_parent"
                android:id="@+id/drawerShare" android:handle="@+id/slideHandleButton2"
                android:content="@+id/contentLayout" android:layout_height="fill_paren`enter code here`t"
                android:orientation="horizontal">
    
                <Button android:layout_width="0px" android:layout_height="0px"
                    android:id="@+id/slideHandleButton2">
                </Button>
    ....
    

    我将定义为我的句柄的按钮的 layout_width 和 layout_height 设置为 0px。 希望这可以帮助。

    【讨论】:

      【解决方案3】:

      我所做的是将句柄 ImageButton 的图像设置为背景的前 300x1 左右像素,以便在底部添加一条不明显的附加线。

      【讨论】:

        【解决方案4】:

        我为 Google 的 SlidingDrawer 小部件创建了一个完全替代品。 http://www.github.com/kedzie/DraggableDrawers它允许没有把手的抽屉(以编程方式打开)或简单调用drawer.getHandle().setVisibility(GONE);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-12-11
          • 1970-01-01
          • 1970-01-01
          • 2012-12-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多