我正在创建一个Android应用,其中有一个活动在顶部有EditText
,在底部有三个Button
。我已将清单中的android:windowSoftInputMode="adjustResize"
设置为活动,以便在使用虚拟键盘时自动重新调整大小。但是,当我在EditText
中输入长句时,它的大小会增加,并且会低于Button
s。我希望EditText
仅扩展到3 Button
和ActionBar
之间的可用空间。
这是发生了什么 -
以下是活动的XML代码 -
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#eaeaea"
tools:context=".AddNoteEditor" >
<EditText
android:id="@+id/noteEditor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:background="@drawable/card"
android:ems="10"
android:hint="@string/nn"
android:inputType="textMultiLine"
android:padding="12.5dp"
android:singleLine="true"
android:textSize="19dp" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClickAddNote"
android:text="@string/ok"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" />
<ToggleButton
android:id="@+id/highlighter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_toLeftOf="@+id/button2"
android:layout_toRightOf="@+id/button1"
android:text="@string/hglt"
android:textOff="Highlighting Off"
android:textOn="Highlighting On" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClickDiscardNote"
android:text="@string/cancel"
android:layout_alignTop="@+id/highlighter"
android:layout_alignParentRight="true" />
</RelativeLayout>
先谢谢。
答案 0 :(得分:1)
问题在于相对布局,当文本足够长时,EditText会填充整个可用空间(在此布局中)。结果它也填补了这些按钮下面的空间。
你基本上有两种解决方案。
为EditText添加一个底部边距,其大小与按钮的高度相等。
使用线性布局代替相对布局(一个线性布局替换相对布局 - 垂直布局,另一个线性布局 - 水平 - 将这些按钮并排放置)。
答案 1 :(得分:0)
也许你必须尝试将EditText
作为可滚动的:
表示水平滚动:
<EditText
android:scrollHorizontally="true"
../>
用于垂直滚动:
<EditText
android:scrollbars = "vertical"
../>