【发布时间】:2015-08-31 11:04:46
【问题描述】:
我正在以编程方式将 TableLayout 添加到 Android 中的父 LinearLayout。该表有一行两列;一个 EditText 和一个按钮。我还指定可以拉伸 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 值,以便添加的视图尊重父宽度。
【问题讨论】:
标签: android android-edittext android-tablelayout