gpt4 book ai didi

android - 如何删除 Android 复选框的内部图像填充(顶部、左侧和底部)

转载 作者:太空狗 更新时间:2023-10-29 13:23:34 24 4
gpt4 key购买 nike

我在 Android 中有一个复选框,上面有一个 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" 但出于某种原因这只适用于 CheckBox 的右侧,而不适用于顶部、左侧和底部(我主要关心的是顶部)。

这是 Eclipse 图形布局窗口中复选框的屏幕截图:

选择了 LineairLayout: enter image description here已选中复选框: enter image description here

在第二张图片中,您可以看到当您选择 Checkbox 时,它周围有一些填充。我想删除它(尤其是在顶部),以便减少文本和复选框之间的空间。

这是我有 padding="-5dp"时的图片:

选中的复选框: enter image description here

PS:如果有人知道只有一个复选框并且它是文本字段的解决方案,那么我可以删除 LineairLayout 和 TextView,同时仍然有复选框上方的文本我也会很感激。具有自定义样式和文本的单个复选框比具有附加 TextView 的 LineairLayout 中的复选框性能更好。 (我知道这更多是针对不同的问题,但我只是将它添加到这里,因为它没有太多优先级。一切都已经在工作,除了复选框的填充。)

最佳答案

好的,我将 LineairLayout 更改为 RelativeLayout,然后我可以将边距更改为负 dp。这是我的最终结果:

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/default_margin">

<TextView
android:id="@+id/tv_edit_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:singleLine="false"
android:gravity="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_below="@id/tv_edit_checkbox"
android:layout_centerHorizontal="true"
android:layout_marginTop="-10dp"
android:checked="true" />

</RelativeLayout>

结果如下:

已选择 RelativeLayout: enter image description here

这确实改变了文本和复选框之间的空间。对我来说,这就是我想要的,但是它仍然不能解释为什么 Android Checkbox 的内部图像在其顶部、左侧和底部有一个填充。现在知道是谁的 Android 有这个想法,但这是一个非常糟糕的一个..最好在内部图像上不使用填充,然后有一些可以由用户更改的默认内部边距/填充..

编辑:您还可以使用 LinearLayout 获得相同的结果:

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="0dp"
android:text="For all products"
android:textSize="10sp" />

<CheckBox
android:id="@+id/checkBox_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-10dp"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:padding="0dp" />
</LinearLayout>

关于android - 如何删除 Android 复选框的内部图像填充(顶部、左侧和底部),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24950765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com