我想将TextView
Android 项目中标准的背景设置为自定义形状。形状定义如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient android:type="radial"
android:angle="90"
android:startColor="#FF1EFFFF"
android:endColor="#B01E90FF"
android:centerColor="#201E90FF"
android:centerX="0.5"
android:centerY="1.0" />
</shape>
我尝试通过调用setBackgroundResource()
textView 上的方法来设置自定义形状。
TextView main = (TextView) findViewById(R.id.mainTextView);
main.setBackgroundResource(R.drawable.gradient);
但是,当我在真实设备或 Android 模拟器上部署此项目时,它不会启动,并显示此错误:
ERROR/AndroidRuntime(4369): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.android.gradienttest/org.android.gradienttest.MainActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class <unknown>
尝试通过首先将其设置为形状来设置可绘制对象会导致相同的错误。通过将其作为一个形状,我的意思是:
Resources res = getResources();
Shape shape = res.getDrawable(R.drawable.gradient);
但正如我所说,这会导致同样的错误......我知道当我尝试加载形状时它会出错,但问题是我不知道为什么......所以有人可以给我一些帮助吗一?这一定是一个微不足道的错误,因为涉及的代码并不多……