2

画像ボタンを作りたいので、押されたときに押されていない画像をボタンの押された画像に置き換えてから、他のアクティビティに進みます。drawableに2つの異なる画像があります。

私は2つのxmlファイルを持っています:

最初の 1 つ - メイン アクティビティの読み込み: 背景と画像ボタン

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:background="@android:color/black"
 android:orientation="vertical" >



<ImageButton
    android:id="@+id/b1_l"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/s1"
    android:scaleType="centerCrop"  
    android:background="@color/trans"

    android:src="@drawable/b1_l" />

</RelativeLayout>

二つ目:

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

   <item android:state_pressed="false"
   android:drawable="@drawable/image_not_pressed" />

   <item android:state_pressed="true"
   android:drawable="@drawable/image_pressed"" />

</selector>

xml に加えて記述する必要があるコードは何ですか? または、xml を渡して、コードとしてのみ記述できますか?

ありがとう!

4

2 に答える 2

1

通常、押された状態とデフォルトの(押されていない)状態のドローアブルが必要です。そのために、このような xml ファイル (以下) を使用できます。この xml ファイルを drawable フォルダーに置き、ImageButton の src として、または Button の場合は background ソースとして使用する必要があります。

名前を mybutton.xml にしましょう

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:state_pressed="true" 
                android:drawable="@drawable/your image name" /> 
    <item android:state_focused="false" android:state_pressed="true" 
                android:drawable="@drawable/your image name" /> 
    <item   android:drawable="@drawable/your image name" /> 
</selector> 

メイン アクティビティのファイルをレイアウトします。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:background="@android:color/black"
 android:orientation="vertical" >



<ImageButton
    android:id="@+id/b1_l"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/s1"
    android:scaleType="centerCrop"  
    android:background="@color/trans"

    android:src="@drawable/mybutton" />

</RelativeLayout>
于 2012-09-16T10:31:08.833 に答える
0

これについては、Android デベロッパー ガイドをご覧ください。

http://developer.android.com/guide/topics/ui/controls/button.html

于 2012-09-16T10:34:47.020 に答える