Используйте ширину dp в PercentRelativeLayout
Когда я пытаюсь добавить представление без "widthPercent" или "heightPercent" в PercentRelativeLayout, представление не отображается.
Причина, по которой я хочу это, состоит в том, чтобы добавить разделитель между 2 элементами моего PercentRelativeLayout с шириной 1 дп.
Макет, который я использую, таков:
<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. Является ли их способ достичь этого?
Спасибо!
1 ответ
Я нашел один способ достичь своей цели, но он мне не очень нравится (не очень чистый), поэтому я публикую его здесь, и если никто не даст мне лучшего решения, я добавлю его в качестве ответа.
Что я сделал, так это добавил RelativeLayout с widthPercent 1%, который содержит мое представление 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>
Дайте мне знать, если у вас есть идея получше.