我正在使用从右到左的 SlidingDrawer ,它运行良好,但我对android:handle的不可见部分有问题,这是一个LinearLayout。 我不得不使用具有fill_parent属性的LinearLayout来允许将我的按钮放在视图的顶部。如果我把手柄放在ImageView上, 它在中间垂直,我不想要这个。
这是我的代码:
<SlidingDrawer
android:id="@+id/SlidingDrawer"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:content="@+id/contentLayout"
android:handle="@+id/slideHandleButton"
android:orientation="horizontal"
android:padding="0dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/slideHandleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/profile_top_panel_background" />
</LinearLayout>
<LinearLayout
android:id="@+id/contentLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/slideHandleButton"
android:background="@drawable/profile_slider_attributes_background"
android:orientation="vertical"
android:padding="10dip" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
//DISPLAY CONTENT
</LinearLayout>
</ScrollView>
</LinearLayout>
</SlidingDrawer>
答案 0 :(得分:1)
我发现将句柄移动到我想要的位置的唯一方法是扩展slidedrawer类并修改onLayout方法。
sldingdrawer源代码中的这一行确定了句柄的位置。
handle.layout(childLeft, childTop, childLeft + childWidth, childTop + childHeight);
延伸滑动抽屉并尝试调整值,直到找到所需的位置。