Gen*_*sis 235 android gradient android-layout android-linearlayout
我无法将渐变背景应用于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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
如果我将@ drawable/header_bg更改为颜色 - 例如#FF0000,它可以正常工作.我错过了一些明显的东西吗?
Gen*_*sis 391
好的,我已设法使用选择器解决这个问题.见下面的代码:
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/main_header_selector">
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
main_header_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:angle="90"
android:startColor="#FFFF0000"
android:endColor="#FF00FF00"
android:type="linear" />
</shape>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助那些有同样问题的人.
Sin*_*Þór 74
也可以具有第三种颜色(中心).和不同种类的形状.
例如在drawable/gradient.xml中:
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#000000"
android:centerColor="#5b5b5b"
android:endColor="#000000"
android:angle="0" />
</shape>
Run Code Online (Sandbox Code Playgroud)
这给你黑色 - 灰色 - 黑色(从左到右),这是我最喜欢的黑暗背景atm.
请记住在layout xml中添加gradient.xml作为背景:
android:background="@drawable/gradient"
Run Code Online (Sandbox Code Playgroud)
也可以旋转,具有:
角= "0"
给你一条垂直线
与
角= "90"
给你一条水平线
可能的角度是:
0,90,180,270.
还有几种不同的形状:
机器人:形状="矩形"
圆形:
机器人:形状="椭圆形"
还有一些问题.
希望它有所帮助,欢呼!
Pac*_*gmi 36
在XML可绘制文件中:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient android:angle="90"
android:endColor="#9b0493"
android:startColor="#38068f"
android:type="linear" />
</shape>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
在您的布局文件中:android:background ="@ drawable/gradient_background"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_background"
android:orientation="vertical"
android:padding="20dp">
.....
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
Vin*_*rat 19
尝试删除android:gradientRadius ="90".这是一个适合我的方法:
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<gradient
android:startColor="@color/purple"
android:endColor="@color/pink"
android:angle="270" />
</shape>
Run Code Online (Sandbox Code Playgroud)
Hit*_*ahu 12
更改数组中的颜色值
val gradientDrawable = GradientDrawable(
GradientDrawable.Orientation.TOP_BOTTOM,
intArrayOf(Color.parseColor("#008000"),
Color.parseColor("#ADFF2F"))
);
gradientDrawable.cornerRadius = 0f;
//Set Gradient
linearLayout.setBackground(gradientDrawable);
Run Code Online (Sandbox Code Playgroud)
结果
| 归档时间: |
|
| 查看次数: |
235446 次 |
| 最近记录: |