2013-01-01 141 views
3

我正在嘗試使用xml漸變代碼創建按鈕。 (因爲我是新用戶無法上傳圖像:()此圖像的邊緣有兩種顏色和邊角。開始漸變的顏色將從所有漸變長度的15%開始,結束顏色以75% 。 的漸變長度我用這個代碼用兩種顏色創建漸變:向漸變添加百分比

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item > 
    <shape android:shape="rectangle"> 
     <gradient 
    android:angle="-45" 
    android:startColor="#64bcfb" 
    android:endColor="#2f8fd4" 
    android:type="linear"/> 

     <corners android:radius="10dp" /> 
    </shape> 
</item> 
</layer-list> 

的問題是,我不知道如何添加啓動率和gradient.I年底百分比有一些關於搜索這一點,在IND一些事情:

banded background with two colors?

Gradients and shadows on buttons

在這兩個都有一些解決方案,但我不適合我的工作。解決方案是關於用兩種顏色創建一個簡單的酒吧,但我想創建一個按鈕,其邊緣也有一些角落。 我也不能在我的應用程序中使用原始圖像,因爲我需要務實地改變它的顏色。 對我們如何在漸變中添加百分比有什麼想法嗎?

回答

3

這是相當古老,但沒有答案,我想我遇到了問題,並找到了一個修復。

如果你只需要使用2種顏色,一個過渡,並與圓角的漸變,你可以做到以下幾點:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners 
     android:bottomLeftRadius="10dp" 
     android:bottomRightRadius="10dp" 
     android:topLeftRadius="10dp" 
     android:topRightRadius="10dp" /> 
    <gradient 
     android:angle="270" 
     android:startColor="@android:color/transparent" 
     android:centerColor="@android:color/transparent" 
     android:centerY="0.65" 
     android:endColor="@color/colorPrimary" 
     android:type="linear" /> 
</shape> 

訣竅這裏添加centerColorcenterY並修改它的中心。這將允許您修改發生轉換的位置。

+0

剛剛成爲我的有用答案,centerY是我需要調整我的2色線性漸變的「開始」點。謝謝! –

+0

很高興幫助=) –