<script></script>标签:

android

imagebutton

按钮

代码

it

分类: 来点技术
<!-- 正文开始 --> 实现步骤

第一步:建Android 工程:ImageButtonDemo

第二步:编写Activity 的子类别:ImageButtonDemo,其程序代码如下:

package com.a3gs.imagebutton;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.ImageButton;

import android.widget.TextView;

public class ImageButtonDemo extends Activity {

private TextView mTV;

private ImageButton imgBtn;

private Button btn;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mTV = (TextView) findViewById(R.id.tv);

imgBtn= (ImageButton) findViewById(R.id.imgBtn);

btn = (Button) findViewById(R.id.Btn);

// ImageButton的的onFous事件

imgBtn.setOnFocusChangeListener(new ImageButton.OnFocusChangeListener(){

@Override

public void onFocusChange(View v, boolean hasFocus) {

// TODO Auto-generated method stub

if(hasFocus == true) {

imgBtn.setImageResource(R.drawable.full);

mTV.setText("图片按钮状态为:获得焦点");

}else{

imgBtn.setImageResource(R.drawable.empty);

mTV.setText("图片按钮状态为:失去焦点");

}

}

});

// ImageButton的单击事件

imgBtn.setOnClickListener(new ImageButton.OnClickListener(){

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

imgBtn.setImageResource(R.drawable.full);

mTV.setText("图片按钮状态为:单击");

}

});

// 普通按钮的单击事件

btn.setOnClickListener(new Button.OnClickListener(){

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

imgBtn.setImageResource(R.drawable.empty);

mTV.setText("您按的是普通按钮!");

}

});

}

}

第三步:修改res/layout/main.xml,其代码如下:

<?xml version="1.0" encoding="utf-8"?>

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

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:id="@+id/tv"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

<ImageButton

android:id="@+id/imgBtn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/empty"

/>

<Button

android:id="@+id/Btn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button按钮"

/>

</LinearLayout>

扩展学习

除了在运行时用 onFocus() onClick() 事件来设置按钮背景图片外,Android MVC 设计理念,可以让程序运行之初就以xml 定义的方式来初始化ImageButton 的背景图,仅需先将图片导入res/drawable

设置方法为在 res/drawable 下自行定义一个xml,主要针对按钮的state_focusedstate_pressed drawable 属性作设置,如下所示:

drawable/imagebutton.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="false"

android:drawable="@drawable/btnfocused" />

<item

android:state_focused="true"

android:state_pressed="true"

android:drawable="@drawable/btnfocusedpressed" />

<item

android:state_focused="false"

android:state_pressed="true"

android:drawable="@drawable/btnpressed" />

<item android:drawable="@drawable/btndefault" />

</selector>

然后,在main.xml 中将advancedbutton 赋值给Button 组件中background 的属性。

layout/main.xml

<Button

android:id="@+id/myButton1"

android:background="@drawable/ imagebutton "

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/str_button1"

/>

更多相关文章

  1. android 将鼠标右键点击事件改为点击后返回功能
  2. Android FrameWork——Touch事件派发过程详解
  3. android监听edittext输入事件
  4. Android 中的 BACK 和 HOME 按钮的区别
  5. 毕设---android按钮事件
  6. Android Recyclerview 滚动事件监听
  7. Android Tab点击监听 自定义事件
  8. android 新手学习笔记 点击事件
  9. android gridview按钮边框和定制点击颜色

随机推荐

  1. android handler 简介
  2. Android清除本地数据缓存代码
  3. Android之背景图片设置为重复而不是默认
  4. Android评分条控件RatingBar自定义背景颜
  5. android调节屏幕亮度
  6. Android GridView 通过seletor 设置状态
  7. Android 和 SQLite 基本数据类型
  8. listView显示对象以及access any RESTFul
  9. android 全屏幕显示以及竖屏显示
  10. Android:启动界面动图效果