Android - 如何更改由 BitmapDrawable 创建的灰色背景

发布于 2024-09-09 03:01:19 字数 461 浏览 2 评论 0原文

我正在使用以下代码,在相对布局中创建一个非缩放的居中图像作为背景:-

RelativeLayout explosionlayout = (RelativeLayout) findViewById (R.id.explosionlayout);
explosionlayout.setBackgroundColor(R.color.white);

Bitmap myBitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.bomb);
    BitmapDrawable test1 = new BitmapDrawable(myBitmap);
    test1.setGravity(Gravity.CENTER);

我遇到的唯一问题是相对布局的背景是灰色的,无论我将其设置为什么,通过 XML 或代码。

任何想法将不胜感激,谢谢。

I'm using the follow code, to create a non-scaled, centred image as a background, in a relative layout:-

RelativeLayout explosionlayout = (RelativeLayout) findViewById (R.id.explosionlayout);
explosionlayout.setBackgroundColor(R.color.white);

Bitmap myBitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.bomb);
    BitmapDrawable test1 = new BitmapDrawable(myBitmap);
    test1.setGravity(Gravity.CENTER);

The only problem I have, is that the background of the relativelayout is grey, regardless of what I set it to, either via XML or in code.

Any ideas would be appreciated, thanks.

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

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

发布评论

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

评论(1

百思不得你姐 2024-09-16 03:01:19

您可能需要这个:

explosionlayout.setBackgroundColor(getResources().getColor(R.color.white));

或者只是

explosionlayout.setBackgroundColor(0xffffffff);

原因是 R.color.white 是一个 ID,而 setBackgroundColor 需要颜色的实际 32 位整数表示。

You probably want this instead:

explosionlayout.setBackgroundColor(getResources().getColor(R.color.white));

or just

explosionlayout.setBackgroundColor(0xffffffff);

The reason is that R.color.white is an ID, while setBackgroundColor expects an actual 32-bit integer representation of the color.

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