Par exemple, je veux un TextView de 500dp et de 150dp dans un LinearLayout. Pour la mise en page sensibles, en leur milieu, il y aurait une zone rouge s'il y a une hauteur restante (par exemple: grand dispositif d'écran):Comment laisser une vue au milieu de remplissage rester hauteur (le cas échéant) à l'intérieur de ScrollView?
Grand écran:
et s'il n'y a restent l'espace (par exemple: au petit appareil de l'écran), il n'y aurait pas de zone rouge et la vue se scrollable:
petit écran:
J'ai essayé:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:background="#FFFFAA"
android:layout_width="match_parent"
android:layout_height="500dp"
android:text="500dp"
android:gravity="center_vertical"
android:textAlignment="center" />
<View
android:background="#FF0000"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<TextView
android:background="#AAFF"
android:layout_width="match_parent"
android:layout_height="150dp"
android:text="150dp"
android:gravity="center_vertical"
android:textAlignment="center" />
</LinearLayout>
</ScrollView>
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
qui a fixé layout_weight = "1" pour la zone rouge, mais la zone rouge ne remplit pas la hauteur restante à grand écran:
grand écran:
Comment puis-je faire cela?