Android 在TableView中剪切的按钮的右侧半径边缘
我有一个自定义的背景画有圆角按钮。正常情况下看起来不错,但当它出现在Android 在TableView中剪切的按钮的右侧半径边缘,android,android-layout,Android,Android Layout,我有一个自定义的背景画有圆角按钮。正常情况下看起来不错,但当它出现在表格布局中时按钮的右边缘被切断 下面是布局XML的一个相关片段,它将按钮放置在表布局中: <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/rounded_box_nopadding" android:stretchColumns="1"
表格布局中时
按钮的右边缘被切断
下面是布局XML的一个相关片段,它将按钮放置在表布局中:
<TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/rounded_box_nopadding" android:stretchColumns="1" android:shrinkColumns="1">
<TableRow android:padding="10dp">
<TextView android:text="@string/sign_in_email_label" android:textStyle="bold" android:textColor="#000000" android:paddingRight="10dp" />
<TextView android:text="@string/sign_in_email_hint" />
</TableRow>
<TableRow android:layout_height="1dp">
<View android:layout_width="fill_parent" android:layout_height="1dp" android:background="#dbe3e4" android:layout_span="2" />
</TableRow>
<TableRow android:padding="10dp">
<TextView android:text="@string/sign_in_password_label" android:textStyle="bold" android:textColor="#000000" android:paddingRight="10dp" />
<TextView android:text="@string/sign_in_password_hint" />
</TableRow>
<TableRow android:layout_height="1dp">
<View android:layout_width="fill_parent" android:layout_height="1dp" android:background="#dbe3e4" android:layout_span="2" />
</TableRow>
<TableRow android:padding="10dp">
<Button android:id="@+id/my_scoopons_sign_in_button" android:layout_height="wrap_content" android:text="@string/sign_in_button_label" android:textColor="@color/button_text_states"
android:textSize="20sp" android:textStyle="bold" android:shadowColor="#671610" android:shadowDy="-2" android:shadowRadius="1" android:background="@drawable/button_states"
android:layout_span="2"/>
</TableRow>
</TableLayout>
这里有一个屏幕截图说明了这个问题
该按钮代码中缺少
android:layout\u width
。可能是原因。问题出在按钮布局中,并且没有按钮宽度
您必须设置android:layout\u height=“wrap\u content”
,我认为删除android:layout\u span=“2”
我已经修改了你的代码
嗨,米克
请尝试使用以下代码
<TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/rounded_box_nopadding" android:stretchColumns="1" android:shrinkColumns="1">
<TableRow android:padding="10dp">
<TextView android:text="@string/sign_in_email_label" android:textStyle="bold" android:textColor="#000000" android:paddingRight="10dp" />
<TextView android:text="@string/sign_in_email_hint" />
</TableRow>
<TableRow android:layout_height="1dp">
<View android:layout_width="fill_parent" android:layout_height="1dp" android:background="#dbe3e4" android:layout_span="2" />
</TableRow>
<TableRow android:padding="10dp">
<TextView android:text="@string/sign_in_password_label" android:textStyle="bold" android:textColor="#000000" android:paddingRight="10dp" />
<TextView android:text="@string/sign_in_password_hint" />
</TableRow>
<TableRow android:layout_height="1dp">
<View android:layout_width="fill_parent" android:layout_height="1dp" android:background="#dbe3e4" android:layout_span="2" />
</TableRow>
<TableRow android:padding="10dp">
<Button android:id="@+id/my_scoopons_sign_in_button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/sign_in_button_label" android:textColor="@color/button_text_states"
android:textSize="20sp" android:textStyle="bold" android:shadowColor="#671610" android:shadowDy="-2" android:shadowRadius="1" android:background="@drawable/button_states"
/>
</TableRow>
</TableLayout>
谢谢
Deepak我已经设法解决了这个问题,方法是去掉
元素的填充,并在
中添加了边距;i、 e:
<TableRow>
<Button android:id="@+id/sign_in_button" android:layout_height="wrap_content" android:text="@string/sign_in_button_label"
android:background="@drawable/button_states"
android:layout_span="2" android:layout_margin="10dp" />
</TableRow>
由于按钮位于表格内部,因此其宽度为
fill\u parent
。父单元格的宽度会计算为包含填充,但渲染时它看起来太长。通过使用按钮上的边距,问题就解决了。只是修复了它,简单地删除了
元素的填充,并在
中添加了边距。不,不是这样。因为按钮出现在表格行中,所以它不需要android:layout\u width
属性-它自动具有fill\u parent
的宽度。不,按钮应该具有android:layout\u span=“2”
,因为我希望按钮跨越两列。此外,不需要在表行内的视图中指定高度。