Android默认的按钮通常都是方方正正的,本范例的练习则是在两个按钮之间的交互,单击A按钮,恢复B按钮图片;单击B按钮,恢复A按钮的图片。使用的方法为单击的瞬间置换图片,置换的图片方式与先前介绍的相同(ImageButton.setImageDrawable)。

程序项目预先import3张图片:p1.pngp2.png以及p3.png,而在onCreate()时,画面Layout上的两个ImageButton各自显示p1.png以及p2.png,当单击其中的一个按钮,则改变自己的图片为p3.png,并还原另一按钮的为默认的图片文件,以按钮事件及图片文件置换的方式来提醒User现在所“选择”的图像按钮为何。

<!--[endif]-->

4-12 被单击的ImageButton因变换图片而被Hightlight出来

范例程序

src/irdc.ex04_12/EX04_12.java

范例程序主要通过setImageDrawable方法来改变按钮的图片,图片是放在res/drawable目录下面。而ImageButton.setOnClickListener()的角色则是本程序的关键,通过同时换两个按钮的图片来表示被选择的图片,是一种类似被选择的假象手法,常应用于切换开关(Turn On/Turn Off)之用。

/* import程序略 */

/* 关键程序 */

myImageButton_1.setOnClickListener(new Button.OnClickListener()

{

public void onClick(View v)

{

myTextView.setText("你按下的是myImageButton_1");

/* 按下myImageButton_1时将myImageButton_1图片置换成p3图片 */

myImageButton_1.setImageDrawable(getResources().getDrawable(

R.drawable.p3));

/* 按下myImageButton_1时将myImageButton_2图片置换成p2图片 */

myImageButton_2.setImageDrawable(getResources().getDrawable(

R.drawable.p2));

}

});

扩展学习

除了自行在res/drawable放置图片方式外,也可以用系统Android操作系统默认的图片,如打电话、简短提示的图标等,只修改main.xmlImageButton的属性即可:

android:src="@drawable/p1"

将其改成如下语句:

android:src="@android:drawable/sym_action_call"

标识“@android:”就表示是引用Android所提供,而非自行导入的

更多相关文章

  1. Android(安卓)UI设计小知识——按钮背景的制作
  2. Android加载图片防止OOM
  3. Android新的网络请求框架volley源码解释及示例
  4. Android(安卓)Alert Dialog解决点击按钮对话框不关闭/的问题
  5. Android从系统Gallery获取图片具体实现
  6. 【Android(安卓)开发】:UI控件之 ImageView 实现图片旋转和缩放功
  7. Android图片开源库:最全面、详细的Picasso讲解
  8. Camera的学习,图片的保存(两种),获取手机图片以及图片信息修改(小的图
  9. 一款现代、高效的 Android(安卓)图片压缩框架

随机推荐

  1. 关于MySQL Memory存储引擎的相关知识
  2. MySQL中临时表的使用示例
  3. SQL左连接和右连接原理及实例解析
  4. Mapper sql语句字段和实体类属性名字有什
  5. 如何使用mysqladmin获取一个mysql实例当
  6. 详解MySQL8.0 密码过期策略
  7. mysql CPU高负载问题排查
  8. MySQL数据库备份过程的注意事项
  9. MySQL Select语句是如何执行的
  10. delete、truncate、drop的区别以及该如何