web-dev-qa-db-ja.com

Android:shape.xmlを使用して影のようなグラデーションを表示する

こんにちは私はshape.xmlを使用して上部にのみグラデーションのような影を取得しようとしています

enter image description here

画像から、ボタンを線形レイアウトでラップしています。レイアウトの上にグラデーションを付けたいと思います。

以下のようにやっていますが、うまくいきません

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >
    <item>
      <shape 
        Android:shape="rectangle">
            <stroke Android:width="1dp" Android:color="#f0f0f0" />
            <solid Android:color="#f0f0f0" />

        </shape>
   </item>

   <item Android:top="1dp"> 
      <shape 
        Android:shape="line">
       <gradient

        Android:angle="90"
        Android:type="linear"
        Android:startColor="#FFFFFF"
        Android:endColor="#000000" />
        </shape>
   </item>

</layer-list>
6
hari86

Layer-listを使用する必要はありません。Gradientで使用できます。この流れるようなコードを試してください->

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <gradient Android:startColor="#b4909090" Android:endColor="#b4fafafa" Android:angle="90"/>
</shape>

必要に応じてstartColorendColorを変更します。そして結果は->

Image For Shadow

11
Zahidul Islam

単に使用してください:

<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:shape="rectangle" >
<gradient 
  Android:type="linear"
  Android:centerX="78%" 
  Android:startColor="#FFf7f7f7" 
  Android:centerColor="#FFC0C0C0" 
  Android:endColor="#FFbebebe" 
  Android:angle="90"/>
</shape>
2
Piyush