如何在代码中设置textview的背景?

发布于 2024-12-10 10:20:16 字数 490 浏览 0 评论 0原文

我将 textview 背景设置为透明,现在我想在代码中更改它的背景。 当点击mybtn(这是一个按钮)更改textview背景时,怎么办?

代码:

Button btn = (Button) findViewById(R.id.btn_dialog);
btn.setBackgroundColor(color.transparent);
btn.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    TextView txt = (TextView) findViewById(R.id.txt);
    txt.setBackgroundColor(??????);

    Toast.makeText(getBaseContext(), "this test is ok!", Toast.LENGTH_SHORT).show();
   }
});

I set textview background equal transparent, and now I want change it's background in code.
when click on mybtn (this is a button) change textview background, how do it?

code:

Button btn = (Button) findViewById(R.id.btn_dialog);
btn.setBackgroundColor(color.transparent);
btn.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    TextView txt = (TextView) findViewById(R.id.txt);
    txt.setBackgroundColor(??????);

    Toast.makeText(getBaseContext(), "this test is ok!", Toast.LENGTH_SHORT).show();
   }
});

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

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

发布评论

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

评论(5

木緿 2024-12-17 10:20:16

不要使用 setBackgroundDrawable 而是使用::

@Override
   public void onClick(View v) {
    TextView txt = (TextView) findViewById(R.id.txt);
    txt.setBackgroundResource(R.drawable.textview_logo);

    Toast.makeText(getBaseContext(), "this test is ok!", Toast.LENGTH_SHORT).show();
   }
});

确保 textview_logo 保留在

可设置背景的可绘制文件夹中:

txt.setBackgroundColor(Color.RED);

Dont use setBackgroundDrawable but use::

@Override
   public void onClick(View v) {
    TextView txt = (TextView) findViewById(R.id.txt);
    txt.setBackgroundResource(R.drawable.textview_logo);

    Toast.makeText(getBaseContext(), "this test is ok!", Toast.LENGTH_SHORT).show();
   }
});

Make sure textview_logo are stay in drawable folder

for set background :

txt.setBackgroundColor(Color.RED);
被翻牌 2024-12-17 10:20:16

您可以使用以下命令设置任何颜色:

txt.setBackgroundColor(Color.parseColor("#BABABA")); // set any custom color as background color 

txt.setBackgroundColor(Color.RED); // set default RED color as background color

You can set any color using this:

txt.setBackgroundColor(Color.parseColor("#BABABA")); // set any custom color as background color 

or

txt.setBackgroundColor(Color.RED); // set default RED color as background color
想念有你 2024-12-17 10:20:16

有3个选项用于设置背景。

txt.setBackgroundResource(int rsid);
txt.setBakgroundDrawable(Drawable object);
txt.setBackgroundColor(color id);

最合适的是
txt.setBackgroundResource(int rsid);您可以直接从可绘制文件夹中设置图像,如下所示:

txt.setBakgroundResource(R.drawable.image_name);

There 3 duntiond for setting background.

txt.setBackgroundResource(int rsid);
txt.setBakgroundDrawable(Drawable object);
txt.setBackgroundColor(color id);

The most suitable is
txt.setBackgroundResource(int rsid); where you can directly set your image from drawable folder as below:

txt.setBakgroundResource(R.drawable.image_name);
Spring初心 2024-12-17 10:20:16

如果您需要通过颜色进行识别,您应该使用:

txt.setBackgroundColor(R.color.someColorInColorsXML);

txt.setBackgroundDrawable(new ColorDrawable(AARRGGBB));

If you need indentify by color you should use:

txt.setBackgroundColor(R.color.someColorInColorsXML);

or

txt.setBackgroundDrawable(new ColorDrawable(AARRGGBB));
嘴硬脾气大 2024-12-17 10:20:16

API 级别 23 后,我相信最佳实践是使用:

setBackgroundColor(ContextCompat.getColor(getApplicationContext(), R.color.my_color));

这也应该确保持续向后兼容性(我自己没有测试过)

Post API level 23, I believe best practice is to use:

setBackgroundColor(ContextCompat.getColor(getApplicationContext(), R.color.my_color));

This should also ensure backward compatibility is sustained (not tested myself)

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