我似乎无法将我的EditText的宽度设置为wrap_content。我的意思是让EditTexts宽度与其中的text / hint相同
这是我的XML片段
<?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="match_parent"
android:id="@+id/tableLayout"
android:background="#FFF"
android:padding="5dp"
android:stretchColumns="1,2,3" >
<TableRow
android:id="@+id/tableRow0"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tvBill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bill Total" />
<EditText
android:id="@+id/etBill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:hint="0.00"
android:textSize="14sp" >
<requestFocus />
</EditText>
</TableRow>
...
</TableLayout>
由于我是新来的,我无法发布图片,所以这里是layout editor
答案 0 :(得分:3)
属性android:ems设置EditText字段的宽度。由于您已将其设置为10,因此您将始终看到一个可容纳10个字符的字段。所以删除android:ems应该有所帮助。
答案 1 :(得分:2)
我认为要修复您的问题,您应该删除android:layout_weight="1"
。在这种情况下似乎不需要它。当您使用它时,您希望将width
设置为0dp
horizontal layout
,height
设置为0dp
vertical
布局。< / p>
将width
TableRow
更改为wrap_content
可以为您提供所需内容。
<TableRow
android:id="@+id/tableRow0"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tvBill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bill Total" />
<EditText
android:id="@+id/etBill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="0.00"
android:textSize="14sp" >
<requestFocus />
</EditText>
</TableRow>
TableRow的子节点不需要在XML文件中指定layout_width和layout_height属性。 TableRow始终将这些值分别强制为MATCH_PARENT和WRAP_CONTENT。