【问题标题】:setting android:background is messing up the text for my radiobutton设置 android:background 弄乱了我的单选按钮的文本
【发布时间】:2010-12-05 02:17:55
【问题描述】:

我为 Android 2.2 构建了这个

这是我的代码。 java是由eclipse生成的。我改变的xml。

package foo.bar.radiobuttontest;

import android.app.Activity;
import android.os.Bundle;
import foo.bar.radiobuttontest.R;

public class rbt extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

这是我的 res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
    <RadioGroup
      android:id="@+id/orientation"
      android:orientation="horizontal"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:padding="5px">
        <RadioButton
            android:id="@+id/horizontal"
            android:background="#aa0000"
            android:text="horizontal"
        />
        <RadioButton
            android:id="@+id/vertical"
            android:text="vertical"
        />
    </RadioGroup>
</LinearLayout>

在尝试单选按钮时,我开始制作一个非常简单的应用程序。它看起来像这样:

* 水平 * 垂直

无缘无故我想我会改变背景颜色。我首先更改了 RadioGroup 元素的背景,一切都按预期工作。然后只是为了好玩,虽然我会更改组中只有一个单选按钮的背景。这可以在上面的 main.xml 中看到。完成此操作后,我注意到单选按钮的文本现在被单选按钮覆盖,页面现在看起来像:

*垂直*垂直

除了你仍然可以从水平方向看到“ho”之外,它们只是被单选按钮覆盖

这是预期的行为吗?

【问题讨论】:

  • 我...绝对不会称之为预期行为。自己试了一下,我唯一能想到的是他们使用了一个内容区域有限的空 NinePatch……但这似乎极不可能。
  • 刚刚发现了同样的事情!叹。您是否找到任何其他答案或解决方法?
  • 没有。这只是我正在玩的一个玩具程序。我可能永远不会重温这个。

标签: android


【解决方案1】:

我搜索了一下,发现@kcoppock 的建议是正确的。 Here 找到单选按钮样式,this 是引用的背景图片:

这是一个九个补丁,其内容区域不包括“广播”区域。我想可以从这张图片开始制作自定义背景。

【讨论】:

  • 这绝对是一种奇怪的方法恕我直言。通过将背景设置为任何内容(颜色、@null、图像、九个补丁),您可以修改文本的内容区域。请注意,android:button 图像位于 RadioButton 的文本上方
  • 我的自定义背景图像(九个补丁)也对文本和/或附加图像(例如 android:drawableRight)执行相同的操作。所以这无济于事——还有其他建议吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
  • 2014-08-05
  • 2010-11-08
  • 1970-01-01
  • 2017-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多