如何解决在TableView中,按钮的右侧半径边缘被切掉
| 我有一个带有自定义背景可绘制的按钮,该按钮具有圆角。正常看起来不错,但是当它出现在ѭ0中时,按钮的右边缘被切断。 这是布局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屏幕截图http://www.petrocky.com/images/device.png
解决方法
我设法消除了
<TableRow>
元素的填充并为<Button>
增加了边距来解决此问题。即:
<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_parent
。父单元格的宽度计算为包括填充,但在渲染时显得太长。通过在按钮上使用边距,可以解决此问题。
, 该按钮代码中缺少ѭ6。可能是原因。
, 问题出在按钮layout_span中,也没有按钮的宽度
您必须设置android:layout_height=\"wrap_content\"
,我认为删除android:layout_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>
谢谢
迪帕克
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。