1. ホーム
  2. android

Androidにおけるオーバーラップビュー

2023-10-01 19:21:40

質問

Androidでビューをオーバーラップさせることは可能でしょうか?ImageViewの前面に透過png、背景に別のビューを表示させたいと考えています。

を編集してください。

これは私が現在持っているものです。問題は、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 の背景を透明にしています。

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