在API 8中为Radio Buttons复制android:drawableStart

时间:2012-08-29 02:36:22

标签: android android-layout

我需要一个自定义单选按钮,其中包含自定义背景,居中文本,文本前面的图标,但没有默认指示符。

目前,我有以下代码:

<RadioButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:button="@null"
    android:background="@drawable/bg_rbtn_custom"
    android:drawableLeft="@drawable/icon"
    android:text="Lorem ipsum…" />

问题是drawableLeft中定义的图标被一直推到左边,即

[icon]____Lorem ipsum…________

我需要这个:

____[icon]Lorem ipsum…________

当我使用android:button="@drawable/icon时会发生同样的事情;图标位于View的最左侧部分,然后文本在左上方空间内居中(而不是相对于整个View居中)。我是Android API 8,所以我不能使用drawableStart,所以我需要一种方法来复制它的行为(至少我假设这就是它的作用)。文本是动态的,在运行时更改,因此我无法真正对填充进行硬编码。

我的问题与this one非常相似,但那个人只需要一个Button,但我需要一个RadioButton才能在RadioGroup中使用。

1 个答案:

答案 0 :(得分:0)

首先想的是尝试

android:paddingLeft="#db"

其中“#db”是将所有内容置于中心所需的像素数


尝试代码并将背景和图标替换为我拥有的本地资源后,我无法重新创建您遇到的问题。你正在使用的图标是否有可能在其右边缘有透明像素?