正如其他人已經注意到了,你想才達到的效果是不是一個梯度。 如果我明白你試圖實現靈活圖像,分1:1。
獲取這不可能既不能通過的.xml文件通過也不9patch(那麼你就失去了黑色和白色之間的急劇轉變)。
第一種解決方案是使用LinearLayout
和layout_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種顏色 - 沒有過渡。 –