119

画面の中央から白で発し、画面の端に向かって移動すると黒に変わるグラデーションを作成しようとしています。

このような「通常の」グラデーションを作成するとき、さまざまな形状を試しています。

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient android:startColor="#E9E9E9" android:endColor="#D4D4D4"
        android:angle="270"/>
</shape>

「楕円形」を使用すると、少なくとも丸い形になりましたが、グラデーション効果はありませんでした。どうすればこれを達成できますか?

4

8 に答える 8

258

次を使用して円形グラデーションを取得できますandroid:type="radial"

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient android:type="radial" android:gradientRadius="250dp"
        android:startColor="#E9E9E9" android:endColor="#D4D4D4" />
</shape>
于 2010-03-18T13:55:39.790 に答える
1

android:centerColor を追加する必要があると思います

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
  android:startColor="#FFFFFF"
  android:centerColor="#000000"
  android:endColor="#FFFFFF"
  android:angle="0" />
</shape>

この例では、白から黒、白への水平グラデーションを表示します。

于 2010-03-18T13:29:18.417 に答える
1

<gradient
    android:centerColor="#c1c1c1"
    android:endColor="#4f4f4f"
    android:gradientRadius="400"
    android:startColor="#c1c1c1"
    android:type="radial" >
</gradient>

于 2016-11-23T04:09:15.143 に答える