我无法将渐变背景应用于LinearLayout .
这应该比我读过的内容相对简单,但它似乎没有用 . 作为参考,我正在开发2.1-update1 .
header_bg.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:startColor="#FFFF0000"
android:endColor="#FF00FF00"
android:type="linear"/>
</shape>
main_header.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:orientation="horizontal"
android:background="@drawable/header_bg">
</LinearLayout>
如果我将@ drawable / header_bg改为颜色 - 例如#FF0000它完美无缺 . 我错过了一些明显的东西吗?
7 回答
好的,我已设法使用选择器解决这个问题 . 见下面的代码:
main_header.xml:
main_header_selector.xml:
希望这可以帮助那些有同样问题的人 .
也可以具有第三种颜色(中心) . 和不同种类的形状 .
例如在drawable / gradient.xml中:
这给你黑色 - 灰色 - 黑色(从左到右),这是我最喜欢的黑暗背景atm .
请记住在layout xml中添加gradient.xml作为背景:
也可以旋转,具有:
给你一条垂直线
与
给你一条水平线
可能的角度是:
还有几种不同的形状:
圆形:
还有一些问题 .
希望它有所帮助,欢呼!
在XML可绘制文件中:
在您的布局文件中:android:background =“@ drawable / gradient_background”
尝试删除android:gradientRadius =“90” . 这是一个适合我的方法:
我的问题是.xml扩展名没有添加到新创建的XML文件的文件名中 . 添加.xml扩展名修复了我的问题 .
我不知道这是否会对任何人有所帮助,但我的问题是我试图将渐变设置为ImageView的“src”属性,如下所示:
不是100%肯定为什么这不起作用,但现在我改变它并将drawable放在ImageView的父级的“background”属性中,在我的情况下是RelativeLayout,如下所示:(这个成功)
我会检查你的渐变颜色的alpha通道 . 对我来说,当我测试我的代码时,我的颜色上的alpha通道设置错误,它对我不起作用 . 一旦我获得了alpha通道设置就可以了!