在我的android项目中, main_activity.xml 如下所示: -
<?xml version="1.0" encoding="utf-8"?>
<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:layout_marginEnd="30dp"
android:layout_marginStart="30dp"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linear1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal|top"
android:orientation="horizontal"
android:paddingBottom="8dp" >
<EditText
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|center_horizontal"
android:layout_weight="10"
android:gravity="center_horizontal|center_vertical"
android:inputType="text"
android:textAlignment="center"
android:textAppearance="@style/AppTheme"
android:textSize="20sp" />
<EditText
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:layout_weight="75"
android:gravity="center_horizontal|center_vertical"
android:inputType="text"
android:textAlignment="center"
android:textAppearance="@style/AppTheme"
android:textSize="20sp" />
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:layout_weight="10"
android:maxWidth="48dp"
android:minHeight="48dp"
android:minWidth="48dp"
android:text="OK"
android:textAlignment="center"
android:textAppearance="@style/AppTheme"
android:textSize="18sp" />
</LinearLayout>
</RelativeLayout>
这种格式如下所示: - &#34; 先生 Annonomus 按钮(确定)&#34; ... Mr. is an edittext field,Annonomus is also a edittext field and a ok button
..
它显示正常。但问题是,当我开始写入第二个edittext字段(意味着想要编写&#34; Annonomus&#34;)时,edittext大小正在增加,ok按钮和另一个edittext字段的大小正在减小。 。
当我将任何长名称写入edittext字段时,如何编辑文本字段将保持不变..
答案 0 :(得分:0)
将此代码用于editText:
int px = editTextMessage.getWidth();
editTextMessage.setMaxWidth(px);
答案 1 :(得分:0)
您在android:layout_width="wrap_content"
内的所有组件中使用android:layout_weight
和linearlayout
。
您必须将android:layout_width
更改为match_parent
或固定值,然后移除android:layout_weight
个{{1}}。不要忘记删除后者,否则它不会工作。
答案 2 :(得分:0)
在EditText中设置android:maxLines =“1”或android:singleLine =“true”属性。