我真的尝试过,但是我不明白Android如何解释layout_weight
设置...
我想实现的是:
- 一个位于顶部且高度固定的标题
- 一个包含EditText和Button的底部输入区域
- 中间的内容部分占据所有剩余的空间
在输入时,我希望EditText增长到特定的高度,并在输入的文本超出可用高度时开始滚动。为此,我需要周围的LinearLayout
与EditText一起增长。
如果我为内部的LinearLayout
定义特定的高度,它就不会增长。如果我不这样做,无论我使用什么layout_weight
都会导致内部布局占据全部空间而不是ScrollView。:(
我的当前XML看起来像这样:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="I'm a header" />
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="bottom">
<LinearLayout
android:id="@+id/itemContainer"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</ScrollView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:padding="2dp"
android:gravity="bottom"
android:isScrollContainer="true"
android:background="@drawable/steel" >
<EditText
android:id="@+id/edittext01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:scrollbars="vertical"
android:fadingEdge="vertical"
android:fadingEdgeLength="60dp"
android:maxHeight="40dp"
android:textSize="15sp" />
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:layout_gravity="right"
android:text="Send"
android:textStyle="bold"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
非常感谢任何建议!