1

私はこの相対的なレイアウトを持っています:

<RelativeLayout
    android:id="@+id/relativeLayout5"
    android:layout_width="fill_parent"
    android:layout_height="110dp"
    android:layout_below="@+id/relativeLayout4"
    android:background="@drawable/pigs_banner_selector"
    android:clickable="true"
    >
    <ImageView
        android:id="@+id/imageView9"
        android:layout_width="220dp"
        android:layout_height="60dp"
        android:layout_marginTop="60dp"
        android:layout_marginLeft="0dp"
        android:layout_marginBottom="-10dp"
        android:src="@drawable/banner_games_pighunt_hill" />
    <TextView
        android:id="@+id/textView3"
        android:fontFamily="sans-serif-condensed"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/gluecksschweinjagd"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@color/white"
        android:textSize="31sp"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="6dp"
        android:textStyle="bold" />
</RelativeLayout>

RelativeLayout のセレクター:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_focused="true" android:drawable="@color/white"/>
    <item android:state_pressed="true" android:drawable="@color/highlight_pigs_banner" />
    <item android:drawable="@color/pigs_banner"/>
</selector>

動作は次のとおりです。relativeLayout は意図したとおりに色を変更します。しかし、子要素 (ImageView) にもセレクターの色 (@color/highlight_pigs_banner) を取得させたいと考えています。

編集: 色 highlight_pigs_banner は、基本的に色にアルファ値を設定します。RelativeLayoutのみをクリックして、imageview(子要素)でもこれを達成するにはどうすればよいですか

android:clickable="true"動作しなかった子要素とandroid:addStatesFromChildren="true"、stackoverflow 例外を発生させた relativeLayout に追加しようとしました。誰でもこれを達成する方法を知っていますか? ありがとう。

4

1 に答える 1

0

ImageViewおよびにもSelector を使用する必要がありTextViewます。

<TextView android:id="@+id/textView3" 
          android:fontFamily="sans-serif-condensed"
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content"
          android:textColor="@drawable/text_selector" />

text_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="false" 
          android:state_pressed="false" 
          android:color="@color/normal"/>
    <item android:state_pressed="true" 
          android:color="@drawable/highlight"/>
    <item android:state_selected="true" 
          android:state_pressed="false" 
          android:color="@drawable/highlight"/>
</selector> 

色.xml

 <drawable name="highlight">#ff590d</drawable>
于 2013-05-29T07:07:46.017 に答える