Вот что я хочу получить в результате, и я получаю за API < = 17 и API> = 20: Как сделать layout_weight одинаковым для API18-19, как и для других уровней API?
Однако для API 18-19 высоты FrameViews в не уважает layout_weight
значения:
проблема может быть связана с тем, что, чтобы сделать panelLayout
высота действительно match_parent
, мне нужно добавить layout_alignParentTop="true"
и layout_alignParentBottom="true"
.
Это полный код макета:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/wrappingScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:fillViewport="true"
>
<RelativeLayout
android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
>
<View
android:id="@+id/longView"
android:layout_width="150dp"
android:layout_height="600dp"
android:layout_margin="10dp"
android:background="@android:color/holo_red_light"
/>
<LinearLayout
android:id="@+id/panelLayout"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignBottom="@id/longView"
android:layout_alignLeft="@id/longView"
android:layout_alignTop="@id/longView"
android:layout_margin="10dp"
android:background="@android:color/holo_blue_bright"
android:orientation="vertical"
>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@android:color/holo_purple"
android:padding="5dp"
>
<View
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:background="@android:color/black"
/>
</FrameLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@android:color/holo_purple"
android:padding="5dp"
>
<View
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:background="@android:color/black"
/>
</FrameLayout>
</LinearLayout>
</RelativeLayout>
</ScrollView>
Не у вас есть идея, как сделать Android выложит эти взгляды одинаково на всех уровнях API от 17 до? Рассмотрим размер динамика longView
.
Обновить RelativeLayout height to match_parent. – Rahul
@PavneetSingh Я нашел что-то еще, глядя больше на прилагаемые скриншоты. Вид занимает полную высоту по размеру экрана. Проблемы, похоже, связаны с весовым свойством FrameLayout. http://stackoverflow.com/questions/26837978/frame-layout-not-adjusting-layout-weight – Rahul
Вы можете присоединиться ко мне здесь - https://join.skype.com/CP1OA5QWz58c – Rahul