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:背景颜色和图像同时的主要内容,如果未能解决你的问题,请参考以下文章