1

ギャラリーを使用して連絡先の情報を表示します。アイテムビューには、セレクターを背景として使用する2つのボタンがあります。これが問題です。この2つのボタンの外側の領域をタッチすると、この2つのボタンで背景が変更されます。それらがすべて押されているように。こちらがギャラリーアイテムです

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#505050"
  >
  <ImageView 
    android:id="@+id/phone_contact_image"
    android:layout_height="160dip"
    android:layout_width="160dip"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="25dip"
    android:src="@drawable/contact_phone_image_1"
    />
  <TextView  
    android:id="@+id/phone_contact_name"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:textSize="25dip"
    android:layout_below="@id/phone_contact_image"
    android:layout_marginTop="10dip"
    android:gravity="center_horizontal"
    android:textColor="#FFFFFF"
    />
  <TextView
    android:id="@+id/phone_contact_numbler"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textSize="25dip"
    android:gravity="center_horizontal"
    android:layout_below="@id/phone_contact_name"
    android:text="@string/contact_phone_numbler"
    android:textColor="#FFFFFF"
    />
  <Button 
    android:id="@+id/phone_contact_edit_btn"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:text="@string/editContact_title_edit"
    android:textSize="28dip"
    android:background="@drawable/btn_button_bg"
    android:layout_marginLeft="30dip"
    android:layout_marginRight="30dip"
    android:layout_marginTop="10dip"
    android:textColor="#FFFFFF"
    android:layout_below="@id/phone_contact_numbler"
    />
  <Button 
    android:id="@+id/phone_contact_call_btn"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:text="@string/title_call_via"
    android:textSize="28dip"
    android:background="@drawable/btn_confirm_bg"
    android:layout_marginTop="20dip"
    android:layout_marginLeft="30dip"
    android:layout_marginRight="30dip"
    android:textColor="#FFFFFF"
    android:layout_below="@id/phone_contact_edit_btn"
    />
</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="@drawable/btn_button_focus" />
    <item android:state_pressed="true" android:drawable="@drawable/btn_button_pressed" />
    <item android:drawable="@drawable/btn_button_normal" />
</selector>
4

1 に答える 1

0

あなたが正しいです。しかし、状態が押されていないか、焦点が合っておらず、選択されていない場合、あなたは何をしますか?

これを試してください: res.valuesフォルダーにstyles.xmlファイルを作成して 追加します。

 <style name="styleNormalButton">
        <item name="android:background">@drawable/backgroundbutton</item>
    </style>

がセレクタファイルであると考え、@drawable/backgroundbutton.xmlその中に以下のコードを追加します。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@drawable/btn_button_focus" />
    <item android:state_pressed="true" android:drawable="@drawable/btn_button_pressed"/>

    <item android:drawable="@drawable/btn_default_pressed_holo_dark"
      android:state_enabled="false" />
    <item android:drawable="@drawable/btn_button_normal" />
</selector>

そして最後にあなたのlayouファイルに。ボタンの背景をに設定しますstyle/styleNormalButton

これがあなたのお役に立てば幸いです

于 2012-09-10T03:53:32.960 に答える