我是Android开发的新手,想要创建自己的颜色选择器。因此,我想创建一个三角形,其中角落中的颜色为红色,绿色,蓝色,其他颜色为中间的渐变。
我没有找到任何方式在Androi创建这样一个有3个原点的渐变,因此我想问你们,这个问题的最佳方法是什么:)
(我不仅仅是使用图像,因为带有渐变的亮度可以调整三角形的亮度,解决方案应该尽可能干净和高效)
感谢您的帮助!干杯
答案 0 :(得分:0)
您可以在drawable文件夹中创建这样的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:height="100dp"
android:width="120dp"
android:viewportHeight="100"
android:viewportWidth="100">
<path android:pathData="m 50,0 l 50,100 -100,0 z" >
<aapt:attr name="android:fillColor">
<gradient
android:endX="0"
android:endY="100">
<item android:color="#F20600" android:offset="0.1111111" />
<item android:color="#FF7600" android:offset="0.22222222" />
<item android:color="#FFD500" android:offset="0.3333333" />
<item android:color="#8CFE00" android:offset="0.44444444" />
<item android:color="#00E86C" android:offset="0.5555555" />
<item android:color="#00E86C" android:offset="0.6666666" />
<item android:color="#00CCFF" android:offset="0.77777777" />
<item android:color="#013CE0" android:offset="0.8888888" />
<item android:color="#013CE0" android:offset="0.9999999" />
</gradient>
</aapt:attr>
</path>
</vector>
您可以使用所需的颜色:)
然后设置ImageView src:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/triangle"
android:src="@drawable/triangle"
/>
结果: