2

当我尝试在 PercentRelativeLayout 中添加没有“widthPercent”或“heightPercent”视图时,该视图不会显示。

我想要这个的原因是在我的PercentRelativeLayout的两个元素之间添加一个分隔线,宽度为 1dp。

我使用的布局是这样的:

<android.support.percent.PercentRelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout android:id="@+id/fragment_list_container"
        app:layout_widthPercent="30%"
        android:layout_height="match_parent"

        android:layout_toLeftOf="@+id/divider"
        android:layout_toStartOf="@+id/divider"/>

     <View android:id="@id/divider"
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:background="@drawable/detailed_list_divider"

        android:layout_toLeftOf="@+id/fragment_details_container"
        android:layout_toStartOf="@+id/fragment_details_container"/>

     <FrameLayout android:id="@id/fragment_details_container"
         app:layout_widthPercent="70%"
         android:layout_height="match_parent"

         android:layout_alignParentRight="true"
         android:layout_alignParentEnd="true"

         android:paddingBottom="@dimen/base_activity_padding"
         android:paddingRight="@dimen/base_activity_padding"
         android:paddingLeft="@dimen/base_activity_padding" />

</android.support.percent.PercentRelativeLayout>

如果我在分隔符处将“layout_widthPercent”设置为 1%,它将显示出来。但我希望它只需要 1dp。他们是实现这一目标的方法吗?

谢谢 !

4

1 回答 1

0

我找到了一种实现目标的方法,但我不太喜欢它(不是很干净),所以我在这里发布它,如果没有人给我任何更好的解决方案,我会将其添加为答案。

我所做的是添加一个宽度百分比为 1% 的 RelativeLayout,其中包含我对 1dp 的视图。像这样 :

<android.support.percent.PercentRelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout android:id="@+id/fragment_list_container"
        app:layout_widthPercent="30%"
        android:layout_height="match_parent"

        android:layout_toLeftOf="@+id/divider"
        android:layout_toStartOf="@+id/divider"/>

    <RelativeLayout android:id="@id/divider"
        app:layout_widthPercent="1%"
        android:layout_height="match_parent"

        android:layout_toLeftOf="@+id/fragment_details_container"
        android:layout_toStartOf="@+id/fragment_details_container">

        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@drawable/detailed_list_divider" />

     </RelativeLayout>

     <FrameLayout android:id="@id/fragment_details_container"
         app:layout_widthPercent="70%"
         android:layout_height="match_parent"

         android:layout_alignParentRight="true"
         android:layout_alignParentEnd="true"

         android:paddingBottom="@dimen/base_activity_padding"
         android:paddingRight="@dimen/base_activity_padding"
         android:paddingLeft="@dimen/base_activity_padding" />

</android.support.percent.PercentRelativeLayout>

如果您有更好的主意,请告诉我。

于 2016-07-12T14:53:55.260 回答