3

相対レイアウト形状の色を変更するにはどうすればよいですか?ボタンのように動作します。セレクターを使ってやってみました。

これは私が使用したコードです。

       <RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/rlGPS"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:background="@drawable/relative_selector"

            >

            <ImageView
                android:id="@+id/iv1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_launcher" />

            <TextView
                android:id="@+id/tvs1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="5dp"
                android:layout_below="@+id/tvl1"
                android:layout_toLeftOf="@+id/iv1"
                android:text="you can here protect ... "
                android:textColor="@color/gray" />

            <TextView
                android:id="@+id/tvl1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_toLeftOf="@id/iv1"
                android:text="GPS"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="@color/white" />
        </RelativeLayout>

Relative_selector.xmlここでは、セレクターを使用して変更を行っています。

<?xml version="1.0" encoding="utf-8"?> 

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> 


  <item android:state_focused="true" android:drawable="@drawable/relative_focus"/>
  <item android:state_pressed="true" android:state_enabled="false"
   android:drawable="@drawable/relative_clicked" />
  <item android:drawable="@drawable/relative_background"/>

</selector>

Relative_background.xmlこれは形状です。

<?xml version="1.0" encoding="utf-8"?>


<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:padding="10dp"
 android:shape="rectangle">

 <stroke android:width="1dp" android:color="#636161" />

 <padding android:left="5dp"
    android:top="2dp"
    android:right="2dp"
    android:bottom="5dp" />

 <corners android:radius="6dp" />

 <solid android:color="#88ffffff"
     />

</shape>

「relative_clicked.xml」と「relative_focus.xml」では、色を変更しただけです。

Relative_focus.xml

      <stroke android:width="1dp" android:color="#ffff00" /> 

Relative_clicked.xml

      <solid android:color="#88ffff00"/> 

すべての.xmlファイルはドローアブルフォルダーにあります。これをボタンのように動かしたいのですが、誰かアイデアはありますか?

4

1 に答える 1

7

セレクターxmlから:

<item android:state_pressed="true" 
      android:state_enabled="false" 
      android:drawable="@drawable/relative_clicked" />

削除しても機能しstate_enabledますか?

<item android:state_pressed="true" 
      android:drawable="@drawable/relative_clicked" />
于 2012-04-28T16:43:32.723 に答える