1

グラデーションで遊んでみたところ、一方向のグラデーション (上から下、左から右、対角線など) を描くのはかなり簡単であることがわかりましたが、2 方向のグラデーションを描く方法は? 私は次のようなことを意味します:

ここに画像の説明を入力

大きな青い四角形は 2 方向のグラデーションです。右上隅には青があり、左には白に変化し、下には黒に変化しています。これを描く方法は?

4

2 に答える 2

2

答えは: 2 つの異なる LinearGradients を組み合わせる必要があります。次に例を示します。

LinearGradient val = new LinearGradient(0, 0, 0, height, Color.WHITE, Color.BLACK, TileMode.CLAMP);
                LinearGradient sat = new LinearGradient(0, 0, width, 0, Color.WHITE, Color.HSVToColor(hsvCopy), TileMode.CLAMP);
                ComposeShader merged = new ComposeShader(val, sat, PorterDuff.Mode.MULTIPLY)

;

そしてもちろん重要です:

[view with this background].setLayerType(View.LAYER_TYPE_SOFTWARE, null);

Android 3.0 以降のスマートフォン

于 2013-04-29T07:50:28.120 に答える
1

gradient色を作成するときは、次のようなことができます。

 <gradient
    android:centerColor="@color/my_white"
    android:startColor="@color/my_darker_gray"
    android:endColor="@color/my_darker_gray"
    android:angle="45"/>

start/end/centerの位置に希望の色を指定しgradient、色の切り替え角度を指定します。

于 2013-04-08T12:19:56.580 に答える