如何将SlidingPaneLayout的Listview部分的宽度设置为100%

时间:2014-10-02 07:34:52

标签: android xml layout android-listview slidingpanelayout

我有一个SlidingPaneLayout,左侧窗格是Listview,右侧窗格是详细视图。 XML在下面。

问题在于 - 如何使listview的宽度覆盖整个屏幕?如下图所示(红色箭头),当前宽度不会一直显示在屏幕右侧。

enter image description here

<?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>

3 个答案:

答案 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

希望这有帮助。