gpt4 book ai didi

android - 我可以在一个 Drawable XML 中使用多个渐变吗?

转载 作者:行者123 更新时间:2023-11-29 20:50:33 24 4
gpt4 key购买 nike

目前我有 3 个可绘制的 XML 文件,定义了 3 个独立的渐变。这些渐变在我的代码中动态设置为 imageView 的背景颜色(工作正常)。

例子:drawable\morningsky.xml

<?xml version="1.0" encoding="utf-8"?>
<item android:bottom="4dp">
<shape>
<gradient
android:startColor="@color/blue"
android:endColor="@color/dark_blue"
android:angle="270" />
</shape>

例子:drawable\eveningsky.xml

<?xml version="1.0" encoding="utf-8"?>
<item android:bottom="4dp">
<shape>
<gradient
android:startColor="@color/orange"
android:endColor="@color/yellow"
android:angle="270" />
</shape>

我以这种方式在我的 imageView 中设置背景:

iv.setBackgroundResource(R.drawable.morningsky);

一切都很好,但我真的需要为每个渐变使用多个不同的可绘制资源文件吗?有什么方法可以在一个可绘制文件中定义所有渐变,然后从我的代码中加载该渐变?

最佳答案

你可以用这样的东西

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:type="radial"
android:gradientRadius="300"
android:startColor="@android:color/white"
android:endColor="@android:color/transparent"
android:centerX="0.25"
android:centerY="0.5"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<gradient
android:type="radial"
android:gradientRadius="300"
android:startColor="@android:color/white"
android:endColor="@android:color/transparent"
android:centerX="0.75"
android:centerY="0.5"/>
</shape>
</item>
</layer-list>

关于android - 我可以在一个 Drawable XML 中使用多个渐变吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29249607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com