我必须在右侧设置一个 SlidingDrawer 并且在单击时它不应扩展到半个屏幕。我看到了很多教程,我设法或多或少地正确设置了它,但它目前将布局中的所有内容都推到了左边。这是我的 xml:
<LinearLayout android:layout_height="wrap_content"
android:id="@+id/edition_content_linear" android:layout_width="fill_parent"
android:layout_weight="1" android:background="@android:color/white">
<LinearLayout android:layout_width="fill_parent"
android:id="@+id/static_menu_layout" android:layout_height="fill_parent"
android:layout_weight="2" android:visibility="gone" android:background="@drawable/ipad_category_back">
<ExpandableListView android:id="@+id/static_expandable_list"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:drawSelectorOnTop="false" android:groupIndicator="@drawable/expandablelist_selector" android:indicatorLeft="210dp" android:indicatorRight="230dp"></ExpandableListView>
</LinearLayout>
<LinearLayout android:id="@+id/center_linear"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_weight="1">
<ImageView android:scaleType="centerInside"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:id="@+id/cover_image_big"></ImageView>
<WebView android:id="@+id/story_webview"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:visibility="gone"></WebView>
</LinearLayout>
<SlidingDrawer android:id="@+id/slider_drawer"
android:layout_width="250dp" android:layout_height="500dp"
android:orientation="horizontal" android:layout_gravity="center_vertical"
android:handle="@+id/slider_handle" android:content="@+id/slider_expandable_list_container">
<ImageView android:id="@+id/slider_handle"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/menu_handler" />
<RelativeLayout android:id="@+id/slider_expandable_list_container"
android:layout_height="500dp" android:layout_width="250dp">
<ExpandableListView android:id="@+id/slider_expandable_list"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:drawSelectorOnTop="false" android:indicatorLeft="210dp" android:layout_gravity="center_vertical"
android:indicatorRight="230dp" android:groupIndicator="@drawable/expandablelist_selector"></ExpandableListView>
</RelativeLayout>
</SlidingDrawer>
</LinearLayout>
最佳答案
将滑动抽屉放在框架布局中总是更好。因为在 Framelayout 中, View 将一个接一个地绘制。然后即使你的抽屉打开它也会重叠在下面的 View 上。但请注意,在 Framelayout 抽屉中扩展到所有 framelayout 长度。如果你想限制抽屉展开的长度,那么给你的父框架布局一个长度。
关于安卓 : is there a way to properly set a SlidingDrawer width and height to half screen?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4873396/