Android:背景颜色和图像同时

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:背景颜色和图像同时相关的知识,希望对你有一定的参考价值。

我需要通过java而不是xml同时拥有textview背景的颜色和图像。换句话说,我需要像这个css规则这样的东西:

background:#f00 url(...);

如何在不使用xml的情况下实现这一目标?

谢谢

答案

你不能没有xml。

步骤1

创建新的Drawable资源文件textview_background.xml

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">


<item android:id="@+id/background" >
    <shape android:shape="rectangle">
        <solid android:color="COLOR"/>
    </shape>
</item>

<item android:id="@+id/item_img">
    <bitmap  android:src="IMAGE" />
</item>

</layer-list>

第2步

在布局xml文件中:

<TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/textview_background" />

第3步

如果要以编程方式自定义背景:

// change background image
LayerDrawable layer = (LayerDrawable) textView.getBackground();
BitmapDrawable bitmap = (BitmapDrawable) resources.getDrawable(R.drawable.IMAGE);
layer.setDrawableByLayerId(R.id.item_img, bitmap);
// change background color
GradientDrawable bgShape = (GradientDrawable) textView.getBackground();
bgShape.setColor(Color.YOURCOLOR);

以上是关于Android:背景颜色和图像同时的主要内容,如果未能解决你的问题,请参考以下文章

使用颜色选择器更改片段中edittext的背景颜色

Android:编程自定义按钮背景颜色,同时适合内部按钮

dreamweaver cs3中,若给网页同时指定了背景图像和背景颜色,优先显示哪一个?

android leanback 搜索片段

安卓不能同时设置背景图片和背景颜色!

转 Android RadioButton设置选中时文字和背景颜色同时改变