为什么我的 Android 背景颜色不可见?

发布于 2024-12-06 03:17:37 字数 279 浏览 1 评论 0原文

我试图弄清楚一件简单的事情:如何在 Android 视图中设置背景颜色。这是活动中的代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    View v = new  View(this);

    setContentView(v);
    v.setBackgroundColor(23423425);
}

我得到的只是黑屏。

I'm trying to figure out one simple thing: how to set a background color in Android view. Here is the code in an Activity:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    View v = new  View(this);

    setContentView(v);
    v.setBackgroundColor(23423425);
}

and all I get is black screen.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦在深巷 2024-12-13 03:17:37

您设置的整数更容易表示为十六进制值。十六进制值为0xAARRGGBB

  • A - 表示 Alpha 值,即颜色的透明度。值 FF 表示它根本不透明。值为 00 表示颜色根本不会显示,而其后面的所有内容都将可见。

  • R——红色值;不言自明

  • G - 绿色价值;不言自明

  • B - 蓝色值;不言自明

您以十六进制输入的内容是 0x016569C1,其 Alpha 值为 1(几乎不可见)。输入0xFFFF0000,您将获得红色背景。

The integer you set is easier represented as a hex value. The hex values are 0xAARRGGBB.

  • A - represents the Alpha value which is how transparent the color is. A value of FF means it's not transparent at all. A value of 00 means the color won't be shown at all and everything behind it will be visible.

  • R - Red value; self-explanatory

  • G - Green value; self-explanatory

  • B - Blue value; self-explanatory

What you entered in hex is 0x016569C1 which has an Alpha values of 1 (barely visible). Put, 0xFFFF0000 and you'll have a red background.

思念满溢 2024-12-13 03:17:37

您传递的颜色不正确。 DeeV 在我之前得到了它,但你需要使用十六进制值。

这是一个列出所有组合的链接,以便于访问。

Android 颜色

在 XML 中进行设置。

android:background = "#FF00000000"

您还可以使用Which would be black

You are passing in the color incorrectly. DeeV got to it before me but you need to use a hex value.

Here is a link that lists all combinations for easy access.

Colors for Android

You can also set in the XML by using

android:background = "#FF00000000"

Which would be black.

︶ ̄淡然 2024-12-13 03:17:37

ARGB(有时是RGBA,但它只是一个命名)模型中表示颜色的常用方法是十六进制。没有人使用十进制数字系统来数字表示颜色。

让我们为按钮的文本设置黄色:button.setTextColor(0xFFFFFF00);。现在我们将按钮的文本设置为黄色。

ARGB由4个通道组成。每个都有8位。第一个通道是 alfa - 0xFFFFFFFF; alfa 是不透明度级别(在这种情况下我们有它的最大值)。第二个是红色 - 0xFFFFFF00,依此类推;分别为绿色和蓝色。

在具有十进制数字系统的 ARGB 颜色模型中创建颜色的最简单方法是使用 Color 类。

Color 类具有所有基本静态函数和字段。
在您的情况下,您可以使用静态函数 Color.rgb(int red, int, green, int blue) 其中 red, green, blue 必须在 0 到255. Alfa 位默认设置为 max - 255 或十六进制 - 0xff。

现在您知道了如何在十六进制数字系统中表示颜色,在 xml 资源文件中创建颜色将非常容易。

Common way to represent color in ARGB(sometimes RGBA but it is just a naming) model is hexadecimal. No one uses decimal numeral system to represent color digitally.

let's set yellow color to button's text: button.setTextColor(0xFFFFFF00);. Now We set yellow to out button's text.

ARGB consists of 4 cannel. each with 8-bit. first channel is alfa - 0xFFFFFFFF; alfa is opacity level(in this case we have max value of it). second is red - 0xFFFFFF00, and so on; green and blue respectively.

The easiest way to create color in ARGB color model with decimal numeral system is to use Color class.

Color class has all basic static functions and fields.
In your case you can use static function Color.rgb(int red, int, green, int blue) where red, green, blue must be in the range of 0 to 255. Alfa bits by default is set to max - 255 or in hex - 0xff.

Now you know how to represent color in hexadecimal numeric system it will be very easy to create color in xml resource file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文