我想知道如何使用xml为背景矩形创建一种渐变框架。
使用xml定义为1面创建背景渐变非常简单:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient
android:type="linear"
android:centerX="8%"
android:startColor="#FF004D4D"
android:centerColor="#FF000000"
android:endColor="#FF000000"
android:angle="180"/>
</shape>
导致这样的背景:
但是如何为所有方面创建类似的渐变?所以它看起来像这样(道歉30秒的photoshopping):
我尝试创建一个layer-list
,正如其他有关多个渐变的问题所建议的那样,但这似乎没有用,它只是采用了最后一项&#34;并使用了那些设置..
我在View的onDraw方法中使用setBackgroundResource(R.drawable.gradient_bg);
,如果它有任何重要性。谢谢你的任何建议!
答案 0 :(得分:0)
答案确实是layered-list
。错误只是没有降低endColor
上的alpha值。所以这可以按预期工作:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<gradient
android:type="linear"
android:centerX="8%"
android:startColor="#FFFF0000"
android:centerColor="#00FF0000"
android:endColor="#00000000"
android:angle="0"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<gradient
android:type="linear"
android:centerX="8%"
android:startColor="#FFFF0000"
android:centerColor="#00FF0000"
android:endColor="#00000000"
android:angle="90"/>
</shape>
</item>
</layer-list>