Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android開發帶圖標的按鈕

Android開發帶圖標的按鈕

編輯:Android開發實例

  除了Android系統自帶的Button按鈕一萬,還提供了帶圖標的按鈕ImageButton。

  要制作帶圖標的按鈕,首先要在布局文件中定義ImageButton,然後通過setImageDrawable方法來設置要顯示的圖標。

  注意:
  我們可以在布局文件中就直接設置按鈕的圖標,如 android:src="@drawable/icon1"
  我們也可以在程序中設置自定義圖標

  imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2));

  我們還可以使用系統自帶的圖標

  imgbtn4.setImageDrawable(getResources().getDrawabl(android.R.drawable.sym_call_incoming));

  設置完按鈕的圖標後,需要為按鈕設置監聽setOnClickListener,以此捕獲事件並處理

  下面的例子講述的是由4個圖標按鈕組成的布局,其中三個按鈕的圖標是自定義的,第四個按鈕的圖標是系統的,當點擊按鈕1的時候,彈出dialog,當點擊按鈕2的時候,點擊確定後,可以將按鈕2的圖標變成按鈕3的圖標,當點擊按鈕3的時候,按鈕3的圖標變成了系統打電話的圖標,點擊按鈕4,顯示一個提示dialog

  java代碼:

  package org.loulijun.imagebutton;
  import android.app.Activity;
  import android.app.AlertDialog;
  import android.app.Dialog;
  import android.content.DialogInterface;
  import android.os.Bundle;
  import android.view.View;
  import android.widget.Button;
  import android.widget.ImageButton;
  import android.widget.TextView;

  public class ImageButtonTest extends Activity {
  /** Called when the activity is first created. */
  TextView textview;
  ImageButton imgbtn1;
  ImageButton imgbtn2;
  ImageButton imgbtn3;
  ImageButton imgbtn4;   
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  textview=(TextView)findViewById(R.id.textview);
  //分別取得4個ImageButton對象
  imgbtn1=(ImageButton)findViewById(R.id.imagebutton1);
  imgbtn2=(ImageButton)findViewById(R.id.imagebutton2);
  imgbtn3=(ImageButton)findViewById(R.id.imagebutton3);
  imgbtn4=(ImageButton)findViewById(R.id.imagebutton4);
  //分別為ImageButton設置圖標
  //imgbtn1已經在main.xml布局中設置了圖標,所以就不在這裡設置了(設置圖標即可在程序中設置,也可在布局文件中設置)
  imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon));//在程序中設置圖標
  imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2));
  imgbtn4.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming));//設置系統圖標

  //下面為各個按鈕設置事件監聽
  imgbtn1.setOnClickListener(new Button.OnClickListener()
  {
  @Override
  public void onClick(View v) {
  // TODO Auto-generated method stub
  Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
  .setTitle("提示")
  .setMessage("我是ImageButton1")
  .setPositiveButton("確定",new DialogInterface.OnClickListener() {

  @Override
  public void onClick(DialogInterface dialog, int which) {
  // TODO Auto-generated method stub
  //相應的處理操作
  }
  }).create();
  dialog.show();
  }
  });
  imgbtn2.setOnClickListener(new Button.OnClickListener()
  {
  @Override
  public void onClick(View v) {
  // TODO Auto-generated method stub
  Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
  .setTitle("提示")
  .setMessage("我是ImageButton2,我要使用ImageButton3的圖標")
  .setPositiveButton("確定",new DialogInterface.OnClickListener() {
  @Override
  public void onClick(DialogInterface dialog, int which) {
  // TODO Auto-generated method stub
  imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon2));
  }
  }).create();
  dialog.show();
  }
  });
  imgbtn3.setOnClickListener(new Button.OnClickListener()
  {

  @Override
  public void onClick(View v) {
  // TODO Auto-generated method stub
  Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
  .setTitle("提示")
  .setMessage("我是ImageButton3,我想使用系統打電話的圖標")
  .setPositiveButton("確定",new DialogInterface.OnClickListener() {

  @Override
  public void onClick(DialogInterface dialog, int which) {
  // TODO Auto-generated method stub
  imgbtn3.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_action_call));
  }
  }).create();
  dialog.show();
  }
  });
  imgbtn4.setOnClickListener(new Button.OnClickListener()
  {

  @Override
  public void onClick(View v) {
  // TODO Auto-generated method stub
  Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
  .setTitle("提示")
  .setMessage("我是使用的系統圖標")
  .setPositiveButton("確定",new DialogInterface.OnClickListener() {

  @Override
  public void onClick(DialogInterface dialog, int which) {
  // TODO Auto-generated method stub
  //相應的處理操作
  }
  }).create();
  dialog.show();
  }
  });
  }
  }

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved