如何在android中创建自定义渐变?

时间:2014-06-25 07:46:45

标签: android colors gradient shape

我想知道在Android中是否可以使用这种渐变颜色? 如果可能的话怎么样? http://www.techandall.com/wp-content/uploads/2013/10/techandall_mobile-analytics-UI-concept_preview1.jpg

谢谢, Bskania。

3 个答案:

答案 0 :(得分:6)

这里有一个用于为android创建渐变形状的在线工具:

http://angrytools.com/gradient/

通过单击android选项卡,您将获得带有形状的xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<gradient 
    android:type="linear"
    android:centerX="47%" 
    android:startColor="#FF70C1FF" 
    android:centerColor="#FFBDC9FF" 
    android:endColor="#FF734080" 
    android:angle="45"/>
</shape>

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<gradient 
    android:type="radial"
    android:centerX="50%" 
    android:centerY="50%" 
    android:startColor="#FF70C1FF" 
    android:centerColor="#FFBDC9FF" 
    android:endColor="#FF734080" 
    android:gradientRadius="47"/>
</shape>

答案 1 :(得分:1)

int startColor=Color.parseColor("#a6c1de");
//you can add as many gradient colors as you want here
//and include it in the int array while initializing GradientDrawable 
int endColor=Color.parseColor("#aa82b7");
GradientDrawable mDrawable=new GradientDrawable(Orientation.LEFT_RIGHT,
                                    new int[] {startColor,endColor});

LinearLayout mLayout=(LinearLayout)findViewById(R.id.your_id);
mLayout.setBackgroundDrawable(mDrawable);

答案 2 :(得分:0)

您无法使用多种颜色创建Gradient,例如图片中两种颜色呈线性关系。所以你应该使用Image而不是渐变。