web-dev-qa-db-ja.com

Androidの重複するビュー

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>
72
Alexander Stolz

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>

通常、メインアクティビティに必要なように、親RelativeLayoutfill_parentの高さと幅に変更していることに注意してください。次に、ImageViewの上部と下部をGalleryの上部と下部に揃えて、前面の中央に配置するようにしました。

また、ImageViewの背景を明示的に透明に設定しました。

画像のドローアブル自体については、PNGファイルをどこかに置いて見れば、プロジェクトでそれを使用して、責任があるかどうかを確認できます。

68
Reto Meier

また、FrameLayoutもご覧ください。これは、カメラのギャラリーアプリケーションがズームボタンオーバーレイを実装する方法です。

9
reflog

レイアウトにカスタムオーバーレイ画面を追加する場合は、カスタムリニアレイアウトを作成して、描画およびキーイベントの制御を取得できます。あなたは私のチュートリアル-Android Layout- http://prasanta-paul.blogspot.com/2010/08/overlay-on-Android-layout.html =

7
Prasanta

可視ギャラリーは可視性を変更します。これは、他のビューのオーバーラップ上でギャラリーを取得する方法です。 Homeサンプルアプリには、この手法の良い例がいくつかあります。

1
Fred Grott

一番簡単な方法は、上部の画像ビューの底に-40dpのマージンを置くことです

0