我正在以编程方式将TableLayout添加到Android中的父LinearLayout。该表有一行有两列;一个EditText和一个Button。我还指定可以拉伸EditText来填充宽度,而Button的大小保持不变(类似于输入附加组件)。一切都很好,直到我填充一个长文本作为EditText的值,这似乎使它拉伸,以便可以显示整个值(而不是椭圆化)。这当然意味着按钮被推离右边缘,使其无法使用。
添加的动态布局:
<?xml version="1.0" encoding="UTF-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="0">
<TableRow>
<EditText
android:id="@+id/added_text"
android:padding="8dp"
android:layout_width="wrap_content"
android:layout_height="64dp"
android:layout_marginLeft="8dp"
android:layout_gravity="center_vertical"
android:text=""
androin:scrollHorizontally="true"
android:ellipsize="end"
android:enabled="false"/>
<ImageButton
android:id="@+id/added_button"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_margin="8dp"
android:layout_gravity="center_vertical"
android:src="@drawable/minus"/>
</TableRow>
</TableLayout>
填充EditText并添加表格的代码:
LinearLayout parent = (LinearLayout) findViewById(R.id.parent); // LinearLayout
LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View dynamic = li.inflate(R.layout.dynamic, null);
EditText et = (EditText) dynamic.findViewById(R.id.added_text);
et.setText("Some very long text...");
parent.addView(dynamic, 1);
我想要的是简单的;只是为了优化EditText值,以便添加的视图符合父宽度。
答案 0 :(得分:0)
看起来在上面的EditText中添加以下内容就解决了它。
android:layout_weight="1"
实际上在这里找到它: