【发布时间】:2014-09-17 00:21:49
【问题描述】:
我在 Android 中有一个 Checkbox,上面有一个 TextView:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/default_margin">
<TextView
android:id="@+id/tv_edit_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="false"
android:layout_margin="0dp"
android:gravity="center_vertical|center_horizontal"
android:text="@string/edit_checkbox" />
<CheckBox
android:id="@+id/cb_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:checked="true" />
</LinearLayout>
但是,Checkbox 的问题在于它的内部“图像”周围有一个不可见的边框。如何删除这个?我试过android:padding="-5dp",但由于某种原因,这只适用于复选框的右侧,而不是顶部、左侧和底部(我主要关心的是顶部)。
这里是 Eclipse Graphical Layout 窗口中 Checkbox 的截图:
LineairLayout 已选中:复选框已选中:
在第二张图片中,您可以看到选中复选框时,它周围有一些填充。我想把它去掉(特别是在顶部),这样 Text 和 Checkbox 之间的空间就会减少。
这是我有 padding="-5dp" 时的图片:
复选框已选中:
PS:如果有人知道只有一个复选框并且它是文本字段的解决方案,那么我可以删除 LineairLayout 和 TextView,同时仍然在复选框上方保留文本,我也将不胜感激。具有自定义样式和 Text 的单个 Checkbox 比具有附加 TextView 的 LineairLayout 中的 Checkbox 更好。 (我知道这更多的是针对不同的问题,但我只是在此处添加它,因为它没有太多优先级。一切都在工作,除了复选框的填充。)
【问题讨论】:
-
无需更改布局。您也可以在 LinearLayout 中获得此视图。请参阅我对您的答案的编辑
-
@Manishika 是的,LineairLayout 权重。感谢您的编辑。如果有人遇到同样的问题,他们可以选择其中一种解决方案。
标签: android image checkbox padding android-styles