web-dev-qa-db-ja.com

Androidで画像ボタンを作成する方法は?

だから私はAndroid開発...ボタンのように機能する画像を作成するにはどうすればよいですか?その画像を押すと、画像は特定のアクティビティを開始します。これを表示したいのですが画像として:

 <Button
    Android:id="@+id/button1"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_alignParentLeft="true"
    Android:layout_alignParentTop="true"
    Android:layout_marginTop="33dp"
    Android:text="Button" />
12
user1414682

ImageButtonを次のように作成します。

main.xml内:

<ImageButton Android:id="@+id/ib"
    Android:src="@drawable/bookmark" <-- SET BUTTON IMAGE HERE -->
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
/>

コード部分:

ImageButton ib=(ImageButton)findViewById(R.id.ib);
ib.setOnClickListener(ibLis);
    }
    private OnClickListener ibLis=new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //START YOUR ACTIVITY HERE AS
             Intent intent = new Intent(YOUR_CURRENT_ACTIVITY.this,NextActivity.class);
             startActivity(intent, 0);
        }
    };

編集:

ボタンビューを使用してボタンのような画像を作成し、次のようにカスタムボタンを作成する場合の2番目のオプション:

まず、pressed、focused、defaultなどのすべての画像をres/drawableフォルダーに配置し、次にnewbtn.xmlをdrawable /newbtn.xmlに次のように追加します。

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">  
    <item Android:state_pressed="true"  
          Android:drawable="@drawable/button_pressed" /> <!-- pressed -->  
    <item Android:state_focused="true"  
          Android:drawable="@drawable/button_focused" /> <!-- focused -->  
    <item Android:drawable="@drawable/button_normal" /> <!-- default -->  
</selector>

最後にボタンXMLセットでAndroid:background なので :

<Button    
    Android:id ="@+id/btn"  
    Android:layout_width="wrap_content"   
    Android:layout_height="wrap_content"   
    Android:text="Hello"  
    Android:textColor="#ffffffff"  
    Android:background="@drawable/newbtn"   <-- get button background to selector -->
    /> 

画像を使用したカスタムボタンの作成については、このチュートリアルを参照してください

Androidでカスタムの派手なボタンを作成する

24

ImageView要素を使用して、クリックリスナーをそれにアタッチします。

XML:

<ImageView
    Android:id="@+id/myImageView"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:src="@drawable/myPic" 
    />

コード:

ImageView imageView = (ImageView) findViewById(R.id.myImageView);
imageView.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(ThisActivity.this, MyOtherActivity.class);
        startActivity(intent);
    }
});

ImageButtonを(同じ方法で)使用することもできます。それはほとんど違いがありません。詳細については、こちらをご覧ください。 クリック可能なImageViewとImageButtonの違い

1
Ixx

「setOnClickListener()」を使用するのは非常に複雑です。代わりに、XMLで「onClick」プロパティを使用してください。

<ImageButton
    Android:id="@+id/button19"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:background="@Android:color/transparent"
    Android:onClick="yourCallback"
    Android:src="@drawable/your_image"
/>

public void yourCallback(View view) 
{
    ...
}
0
Tim Cooper