我正在开发一个我的xml看起来有点像这样的应用程序:
<TableRow
android:layout_width="match_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/receiver_name"
android:layout_weight="1" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="3"
android:maxLength="30"
android:maxLines="1" />
</TableRow>
我想要的是,无论您拥有什么设备,TextView
都应占宽度的1/4,而EditText
应占宽度的3/4。
就像现在一样,代码可以工作 - 直到你开始输入。随着您输入的内容越来越多,EditText
越来越宽。如何使我的EditText保持与layout_weight
参数分配给它的宽度相同?
答案 0 :(得分:1)
你应该像这样使用LinearLayout:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/receiver_name"
android:layout_weight="1" />
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:maxLength="30"
android:maxLines="1" />
</LinearLayout>
希望能帮助你=)
答案 1 :(得分:1)
就像Janoub所说,你可以使用LinearLayout和权重值。 http://developer.android.com/guide/topics/ui/layout/linear.html 但您也可以使用包含4列的表格布局,以便您的edittext捕获3列,textview 1。 http://www.compiletimeerror.com/2013/07/android-tablelayout-example.html