2015-12-15 59 views
1

我想打一個清晰的黑色和白色的漸變這樣 enter image description here如何使銳梯度繪製

我所做的就是這個

enter image description here

這是我的繪製文件

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<gradient 
    android:startColor="#000" 
    android:endColor="#fff" 
    android:centerColor="#fff" 
    /> 
</shape> 

任何想法如何使它!

+0

然後,你根本不需要**漸變**。你只需要2種顏色 - 沒有過渡。 –

回答

1

正如其他人已經注意到了,你想才達到的效果是不是一個梯度。 如果我明白你試圖實現靈活圖像,分1:1

獲取這不可能既不能通過的.xml文件通過也不9patch(那麼你就失去了黑色和白色之間的急劇轉變)。

第一種解決方案是使用LinearLayoutlayout_weight s。您可以將'圖層'添加到您的佈局 - 如果它是背景 - 則在其他組件下。這「層」看起來像這樣:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <View 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:background="@android:color/black"/> 

    <View 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:background="@android:color/white"/> 

</LinearLayout> 

如果您在佈局一次或兩次使用這一附加/嵌套佈局不會是一個問題,但要避免內部的藏品這樣的解決方案。


您也可以嘗試用普通雙色PNG文件ImageView。 (提示:這個文件的適當尺寸可以給你急劇轉變。)


三辦法做到這一點,在最輕一個,但有點費時是覆蓋View.onDraw()方法和油漆都在繪製其他內容之前減半。

2

有一個偉大的網站,只是去那裏,並改爲'安卓'選項卡。 這裏是鏈接:Angrytools.com

+0

這是非常好的答案和良好的記憶援助,Vote Up,但對於基於鏈接的答案,您可以將它們添加爲評論。 – theLazyFinder

+0

當然,下次這是我會做的。 –

+1

偉大的網站,非常感謝! – Sarah

0

首先根據你的圖像,這隻包含黑色。所以,你可以使用簡單的固體做到這一點 作爲

<?xml version="1.0" encoding="utf-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 

    <solid android:color="#000000" /> 

</shape> 
+0

其黑色和白色,但其雙倍寬度的第二個圖像。 – Sarah