2012-04-28 3 views
2

Как изменить цвет формы Relative Layout? Работать так, как кнопка. Я попытался сделать это с помощью селектора.Android Relative Layout Selector

Это код, который я использовал.

 <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 в папке вытяжке. Я хочу работать как кнопка. У кого-то есть идея?

+0

«Но это не работает» является бесполезным описанием проблемы. Пожалуйста, уделите время, чтобы обеспечить ** точные, специфические симптомы **. – CommonsWare

ответ

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" /> 
+0

О, да, да, это работает.Thnks.Still часть фокусировки не работает – Anjula

Смежные вопросы