web-dev-qa-db-ja.com

Androidのアルファ勾配

ImageViewのエッジにアルファグラデーションを作成する必要があります。 XMLのみを使用することをお勧めします。

画像の例

18
ftp27

ここでソリューション

画像は下の写真のようになります

enter image description here

そのためのコード

  • 描画可能な図形を準備する

res/drawable/gradient_shape.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <gradient
            Android:startColor="#00FFFFFF"
            Android:endColor="#FFFFFFFF"
            Android:type="linear" />
</shape>

レイアウトを定義:activity_main.xml:

<ImageView
    Android:id="@+id/photo"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:background="@drawable/photo"
    Android:src="@drawable/gradient_shape" />

ここでドローアブル/写真はドローアブルフォルダー内のjpegです

[〜#〜] edit [〜#〜]詳細については、これを参照してくださいチュートリアル =

17
Dixit Patel
<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
        <gradient
                Android:startColor="#00FFFFFF"
                Android:endColor="#FFFFFFFF"
                Android:type="linear" />
    </shape>

完璧な透過性。グラデーションの下のビューが実際に下にあり、単にグラデーションシェイプビューに触れていないことを確認してください。

メインRelativeLayout、ListViewおよびView(Background:Gradient)がある場合

Gradient ViewがListViewの上部ではなく、上部にあることを確認してください。あなたのgradientが脇にある場合、ListViewではなくRelativeLayout背景色によって透明になります。

私が言いたいことを理解していただければ幸いです。

3
Alpha

透明性のために:

Android:startColor="@null"

または、そのような8桁の16進数の色を使用できます。

Android:startColor="#FF000000"

最初の2つのFFは色のアルファ用、00は完全に透明、FFは不透明

0
Jeremy YANG