さて、私は周りを見回して、あなたがそれを行うように想定されている方法を確認しましたが、私にとっては、それは機能していません。
XMLとコードの両方でRelativeLayoutのアルファを設定できる必要があります。私のXMLには、次のものがあります
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/player_controls"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:alpha="0.0">
<RelativeLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/player_controls_touch_me"
>
</RelativeLayout>
</RelativeLayout>
エラーが発生します:no resource identifier found for attribute 'alpha' in package 'android'
また、Androidのドキュメントに基づくと、setAlpha(double)
任意のViewオブジェクトを呼び出すことができるはずですが、RelativeLayoutでその呼び出しを行おうとすると、このオブジェクトに対してこのメソッドが定義されていないことがわかります。
AndroidでRelativeLayoutオブジェクトのアルファ透明度を制御できないのはなぜですか?私は何かが足りないのですか?ありがとう!
アップデート
可視性プロパティの使用は機能しますが、ViewGroupをクリックできなくなります。私はViewGroupのOnTouchListenerを利用しているので、これは私にとって重要です。
私がやろうとしているのは、最初は非表示になっているメディアコントロールを備えたレイヤーを作成することです。ユーザーが画面をタップしたときにコントロールをフェードインさせ、もう一度画面をタップしたときにコントロールをフェードアウトさせます。この部分はすでに機能しています。アプリケーション全体の上にあるビューグループを使用しており、OnTouchListenerが接続されており、タッチされているかどうかを判断できます。私の問題は、アニメーションを実行してコントロールをフェードアウトした後、それらが再表示されることです。@Hydrangeaの提案を使用すると、フェードアウトしてすぐに非表示にすることができます。これにより、目的の効果が得られますが、ViewGroupはクリックできなくなり、ユーザーはコントロールを元に戻すことができません(または、最初に行うことを決定した場合は、元に戻すことができません)。
これが理にかなっていることを願っています。