1. ホーム
  2. android

[解決済み] シンプルなレイアウトで波紋を表現する方法

2022-05-31 06:34:14

質問

シンプルな線形/相対レイアウトで、レイアウトをタッチしたときに波及効果を持たせるにはどうしたらよいでしょうか。

レイアウトの背景を以下のようなものに設定してみました。

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight" >

    <item android:drawable="@android:color/white"/>

</ripple>

しかし、レイアウトをタッチしても真っ白な背景が表示されるだけで、波紋のような効果はありません。 何が間違っているのでしょうか?

編集してください。

参考までに、私のレイアウトxmlファイルを紹介します。

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:background="@drawable/test"
        android:clickable="true">
    </RelativeLayout>

どのように解決するのですか?

これは意図したとおりに動作していることがわかりました。 標準の Material テーマの colorControlHighlight 値は #40ffffff . ですから、白い背景では、これは表示されません。 ハイライトの色を他の色に変更するか、オブジェクトの背景色を変更するとうまくいきます。

すべての人に感謝します (特に、正しい方向に私を導いてくれた Alanv)。