0

たとえば、LinearLayout内に500dpと150dpのTextViewが必要です。ScrollView内で中間の塗りつぶしの高さを維持する方法(存在する場合)

大画面:

enter image description here

とNOが存在する場合、任意の残りの高さ(:大画面デバイスで例えば)がある場合は応答レイアウトのため、その中央に、赤の領域が存在することになりますスペース(例:小さな画面のデバイスで)残っている:

スモールスクリーン:

enter image description here

、赤いエリアとスクロール可能になっビューはないだろう

私が試した:

activity_main.xml layout_weightを設定

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

= "1" 赤領域が、大画面での残りの高さを満たさない赤色領域について:

大画面:

enter image description here

私はそれをどのように行うことができますか?

答えて

0

があなたのscrollviewを作りますこのように

スクロールビューがコンテンツを拡大してビューポートを埋めるかどうかを定義します。

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 
    <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> 
0

android:fillViewport="true"ScrollViewに設定する必要があります。これにより、必要に応じてコンテンツがスクロールビューの高さに引き伸ばされます。

0

あなたは

何かのように固定されたフッターを使用する必要があります: -

<android.support.design.widget.NavigationView 
android:id="@+id/drawer" 
android:layout_width="wrap_content" 
android:layout_height="match_parent" 
android:layout_gravity="start" 
app:headerLayout="@layout/drawer_header" 
app:menu="@menu/drawer"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom" 
    android:clickable="true" 
    android:orientation="vertical"> 
    <TextView 
     android:id="@+id/footer_item_1" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:gravity="center" 
     android:text="Footer Item 1" /> 
    <TextView 
     android:id="@+id/footer_item_2" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:gravity="center" 
     android:text="Footer Item 2" /> 
</LinearLayout> 

そしてRES /メニュー/ drawer.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<group> 
    <item 
     android:id="@+id/nav_item_1" 
     android:icon="@drawable/ic_nav_item_1" 
     android:title="Nav Item 1" /> 
    <item 
     android:id="@+id/nav_item_2" 
     android:icon="@drawable/ic_nav_item_2" 
     android:title="Nav Item 2" /> 
    <item 
     android:id="@+id/nav_item_3" 
     android:icon="@drawable/ic_nav_item_3" 
     android:title="Nav Item 3" /> 
    <item 
     android:id="@+id/nav_item_4" 
     android:icon="@drawable/ic_nav_item_4" 
     android:title="Nav Item 4" /> 
    <item 
     android:id="@+id/footer_spacer_1" 
     android:checkable="false" 
     android:enabled="false" 
     android:orderInCategory="200" 
     android:title="" /> 
    <item 
     android:id="@+id/footer_spacer_2" 
     android:checkable="false" 
     android:enabled="false" 
     android:orderInCategory="200" 
     android:title="" /> 
</group> 
</menu> 
関連する問題