アプリのメイン画面に、背景が透明なイメージ ボタンを追加したいと考えています。GIMP で画像を作成し、背景を透明にして png 形式で保存しましたが、Eclipse で Android アプリに追加すると、背景が白く表示されます。コードでこれを削除するにはどうすればよいですか?
5 に答える
xml レイアウトの画像ボタンの背景に null を使用してみてください。
android:background="@null"
透明な背景は通常、Photoshop で使用すると機能します。そうでない場合は、画像の境界の周囲のピクセルのアルファ ビットを設定する必要があります。
アルファマスキング を使用します(アルファブレンディングのサブセット、詳細についてはグーグルで検索してください)。
ちょっとした理論: Bitmap 内の各ピクセルのアルファ ビット (半透明度ビット) に応じて、そのピクセルと上書きされたピクセルとのブレンドの程度が決まります。極端な場合、アルファが 255 の場合、上書きされたピクセルの代わりに上書きピクセルが使用されます (完全に不透明、通常の用語で)。alpha が 0 の場合、上書きピクセルは単に無視されます ( transparent )。中間の他のアルファの場合: ブレンディングがあります。
あなたの場合、完全なブレンドを実現するには、境界線のアルファをゼロにする必要があります。geral: ですべての手順を概説します。
- 使用するドローアブルをJPEG にすることはできません(JPEG はピクセルごとのアルファ値を保存しません)。PNGに行く
2.境界線のアルファ値がゼロになるように、ビットマップドローアブルを事前に作成して保持する必要があります(アルファブレンディングPNGにはGoogleを使用します)(exにはPaint.NETなどのソフトウェアを使用します)。
- 画像が動的に作成されている場合は、ブレンド方程式を使用する必要があります (詳細については、Porter と Duff による資料を参照してください)。
たとえば、これは、アルファベット自体以外のアルファ 0 を持つ透明ピクセルを含む PNG イメージです
。
上記は、アクティビティの色付きの背景にアルファ ブレンドされた PNG です。これがあなたが本当に達成したいことであることを願っています。
設定するだけです
android:background="@null"
XMLで