web-dev-qa-db-ja.com

放射状グラデーションの背景を配置する方法

LinearLayoutの背景として放射状グラデーションシェイプを配置するにはどうすればよいですか?これが私が現在持っているものです:

かたち :

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <gradient
        Android:endColor="#e6e6e6"
        Android:gradientRadius="800"
        Android:startColor="#fafaf9"
        Android:type="radial"/>
</shape>

LinearLayout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:orientation="vertical" 
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent" 
    Android:background="@drawable/accueil_bg_gradient">
</LinearLayout>

画面の左上隅から右下隅までグラデーションを設定したいだけです。

どうもありがとう !

21
alxscms

グラデーションの「centerX」および「centerY」属性を使用して、放射状グラデーションの中央をドローアブルの別の位置に移動できます。これらは0から1.0の範囲の浮動小数点値であり、(centerX、centerYの値に応じて)0,0は左上、1,1は右下隅です。

デフォルトは0.5,0.5で、これはドローアブル/割り当てられたスペースの中央です。中央が左上隅から始まる100pxの長さ(半径)の白黒グラデーションの例は次のようになります。

    <shape Android:shape="rectangle">
        <gradient
            Android:type="radial"
            Android:startColor="#ffffff"
            Android:endColor="#000000"
            Android:gradientRadius="100"
            Android:angle="270"
            Android:centerX="0"
            Android:centerY="0"/>

    </shape>
46
zilinx