スクロールビュー内の高さに線形レイアウトの layout_weight を使用しようとしています。ただし、layout_weight は fillViewPort=true でのみ機能し、linear_weight を拡張するのに十分なスペースが残っている場合にのみ機能することがわかりました。
以下に 3 つの例を挙げましたが、textView を #2 と #3 で xml レベルの #1 と同じサイズにしたいと考えています。リンクにあるように、#2、#3 では textView が自動的に変更されました。
これが私の例です。TextViews と Buttons は、LinearLayout の内側に囲まれてから、scrollView の内側に含まれます。
1.親に対して完全に機能するLayout_weight。(働く)
2. Layout_weight は、親ではなく、残りのスペースに対して機能します (機能していません)。
3 Layout_weight は無視されます (機能していません)
#3のxmlコードは次のとおりです。#2 と #1 は基本的に同じコードで、ボタンが少ないかまったくありません。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scroller"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weighSum="1"
android:fillViewport="true" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="10" >
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<Button
android:layout_width="30dip"
android:layout_height="30dip"
android:text="Accept" />
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="6"
android:background="#AAABBB"
android:text="hello" />
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:background="#BBBAAA"
android:text="hello" />
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="5"
android:background="#AAABBB"
android:text="hello" />
</LinearLayout>
</ScrollView>