75

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>
4

7 に答える 7

71

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次に、 の上部と下部を の上部と下部に合わせてImageViewGallery前の中央に配置します。

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

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

于 2009-06-08T15:59:36.830 に答える
9

また、FrameLayoutカメラのギャラリー アプリケーションがズーム ボタン オーバーレイをどのように実装しているかをご覧ください。

于 2009-06-08T13:45:43.963 に答える
7

レイアウトにカスタムオーバーレイ画面を追加する場合は、カスタム線形レイアウトを作成して、描画と主要なイベントを制御できます。あなたは私のチュートリアルをすることができます-Androidレイアウトのオーバーレイ-http ://prasanta-paul.blogspot.com/2010/08/overlay-on-android-layout.html

于 2010-08-12T03:43:46.380 に答える
1

簡単な方法は、上部のイメージビューの下部に-40dpのマージンを置くことです

于 2014-11-06T13:54:34.487 に答える
1

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

于 2009-06-07T17:31:19.640 に答える
-3

はい、可能です。ただし、課題は、レイアウトを適切に行うことです。これを行う最も簡単な方法は、AbsoluteLayout を用意して、2 つの画像を配置したい場所に配置することです。後でレイアウトに追加することを除いて、透明な png に対して特別なことをする必要はありません。

于 2009-06-07T15:04:11.673 に答える