0

我已经做了很多研究,但这太奇怪了,我不得不发布这个问题。我有一个垂直的 LinearLayout,在单行 EditText 上方的 ScrollView 上方有一个自定义视图。自定义视图的固定高度为 10dp,而 EditText 的高度为 wrap_content,所以它是提示的高度。ScrollView 的权重为 1,因此它应该占据两者之间的所有空间。我在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 遮住一半。关于这里可能发生什么的任何想法?

4

1 回答 1

1

我已经重现了这个问题,你似乎在这个 textview 上随机放置了 10dp 的边距,它在 Android 2.3 上没有显示,但它在 4.0 上显示。

<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" />
于 2013-08-30T19:41:24.640 回答