<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="8dp"
    android:orientation="horizontal">

  <!-- これはネットワーク経由で読み込む画像 -->
  <ImageView
      android:id="@+id/image"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      tools:src="@drawable/ic_launcher"/>

  <TextView
      android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_vertical"
      android:layout_margin="8dp"
      tools:text="hogehoge"/>

</LinearLayout>

上記のようなレイアウトをRecyclerViewのアイテムのレイアウトとして設定しています。
これにセレクターを適用すると、当然ですがレイアウトの背景のみ変化するため、ImageViewの見た目はそのままになります。

ImageViewも背景と同様のセレクターの効果(全体に半透明の黒がブレンドされるようなイメージ)を適用したいと考えています。

背景はセレクター、画像はColorFilterをそれぞれ使うことでも実現は出来るのですが、

  • レイアウトが複雑になると対応が難しい(このレイアウトの中に背景色を持つViewが入った場合や、ImageViewが増えた場合など)
  • 定義場所がxml, コードに分散され保守しづらい

等の問題が有ります。

レイアウト全体に適用可能なフィルターのような機能はどのように実現するのがよいのでしょうか?

※ 前提条件として対象OSは4.0-5.0で、Material Designは今回導入しません。