私はかなりの調査を行いましたが、これは非常に奇妙であるため、この質問を投稿せざるを得ません。1行のEditTextの上のScrollViewの上にカスタムビューを持つ垂直LinearLayoutがあります。カスタム ビューの高さは 10 dp に固定されており、EditText の高さは wrap_content であるため、ヒントの高さになります。ScrollView の重みは 1 であるため、2 つの間のすべてのスペースを占める必要があります。このコードはhttps://stackoverflow.com/a/7998024/852795をモデルにしています。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<com.program.main.StatsBar
android:id="@+id/mvStatsBar"
android:layout_width="match_parent"
android:layout_height="10dp" />
<ScrollView
android:id="@+id/tvScrollMessage"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:fillViewport="true" >
<TextView
android:id="@+id/tvMessage"
android:textIsSelectable="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="left"
android:textSize="14sp" />
</ScrollView>
<EditText android:id="@+id/command_entry"
android:background="@drawable/command_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:lines="1"
android:singleLine="true"
android:textSize="16sp"
android:hint="@string/command_entry" />
</LinearLayout>
特に奇妙なのは、私の携帯電話 (Android v2.3.4) で完全に動作することです。ScrollView はテキストでいっぱいになり、EditText の上でスクロールします。ただし、私の v4.3 タブレットでは、ScrollView が EditText の下にオーバーラップしているため、ScrollView の最後の行は常に EditText によって半分隠されています。ここで何が起こっているのかについてのアイデアはありますか?