我有一个SlidingPaneLayout,左侧窗格是Listview,右侧窗格是详细视图。 XML在下面。
问题在于 - 如何使listview的宽度覆盖整个屏幕?如下图所示(红色箭头),当前宽度不会一直显示在屏幕右侧。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sliding_pane_layout"
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<!--
The first child view becomes the left pane. When the combined
desired width (expressed using android:layout_width) would
not fit on-screen at once, the right pane is permitted to
overlap the left.
-->
<LinearLayout
android:id="@+id/ll_left_pane"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginRight="0dp" >
<ListView
android:id="@+id/left_pane"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginRight="0dp" />
</LinearLayout>
<!--
The second child becomes the right (content) pane. In this
example, android:layout_weight is used to express that this
pane should grow to consume leftover available space when the
window is wide enough. This allows the content pane to
responsively grow in width on larger screens while still
requiring at least the minimum width expressed by
android:layout_width.
-->
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/frame_container_slidingpanedetailview"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp" />
</android.support.v4.widget.SlidingPaneLayout>
答案 0 :(得分:1)
这种情况下的列表视图必须采用固定值,因此更改列表视图的宽度参数,并在宽度属性中添加一些非常大的值,如500dp或1000dp。
<ListView
android:id="@+id/left_pane"
android:layout_width="500dp"
android:layout_height="match_parent"
android:layout_marginRight="0dp" />
答案 1 :(得分:0)
在xml中使用listview的以下属性:
app:layout_widthPercent="100%"
答案 2 :(得分:0)
我遇到了同样的问题然后经过大量的搜索我得到了以下解决方案。试试这个:
ResourceServerTokenServices.java
希望这有帮助。