だから私は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" />
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 -->
/>
画像を使用したカスタムボタンの作成については、このチュートリアルを参照してください
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の違い
「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)
{
...
}