Androidでビューを重複させることは可能ですか?前面に透明なpngがあり、背景に別のビューがあるImageViewが欲しいです。
編集:
これは私が現時点で持っているものです、問題はimageViewの画像が透明ではなく、透明でなければならない部分がちょうど黒であるということです。
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/gallerylayout"
>
<Gallery Android:id="@+id/overview"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
/>
<ImageView Android:id="@+id/navigmaske"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:src="@drawable/navigmask"
/>
</RelativeLayout>
編集:
動作するようになりました。チームの別のプログラマーからのテーマファイルでした。これを変更しました
<item name="Android:background">#FF000000</item>
これに
<item name="Android:background">#00000000</item>
Androidはビューとドロウアブル(PNG画像を含む)の透明度をネイティブに処理するため、説明するシナリオ(ImageView
の前の部分的に透明なGallery
)は確かに可能です。
問題がある場合は、レイアウトまたは画像に関連している可能性があります。あなたが説明したレイアウトを複製し、あなたが望んでいる効果を達成しました。これが私が使用した正確なレイアウトです。
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/gallerylayout"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<Gallery
Android:id="@+id/overview"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
/>
<ImageView
Android:id="@+id/navigmaske"
Android:background="#0000"
Android:src="@drawable/navigmask"
Android:scaleType="fitXY"
Android:layout_alignTop="@id/overview"
Android:layout_alignBottom="@id/overview"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
/>
</RelativeLayout>
通常、メインアクティビティに必要なように、親RelativeLayout
をfill_parent
の高さと幅に変更していることに注意してください。次に、ImageView
の上部と下部をGallery
の上部と下部に揃えて、前面の中央に配置するようにしました。
また、ImageView
の背景を明示的に透明に設定しました。
画像のドローアブル自体については、PNGファイルをどこかに置いて見れば、プロジェクトでそれを使用して、責任があるかどうかを確認できます。
また、FrameLayout
もご覧ください。これは、カメラのギャラリーアプリケーションがズームボタンオーバーレイを実装する方法です。
レイアウトにカスタムオーバーレイ画面を追加する場合は、カスタムリニアレイアウトを作成して、描画およびキーイベントの制御を取得できます。あなたは私のチュートリアル-Android Layout- http://prasanta-paul.blogspot.com/2010/08/overlay-on-Android-layout.html =
可視ギャラリーは可視性を変更します。これは、他のビューのオーバーラップ上でギャラリーを取得する方法です。 Homeサンプルアプリには、この手法の良い例がいくつかあります。
一番簡単な方法は、上部の画像ビューの底に-40dpのマージンを置くことです