<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 WebView总结
  2. android 将鼠标右键点击事件改为点击后返回功能
  3. 在Windows7下构建Android的开发环境
  4. Android(安卓)studio 点击按钮跳转到新的Activity
  5. android解析json(2)
  6. Android内存监测工具DDMS
  7. android基本组件 Button
  8. Android(安卓)webkit 事件传递流程详解
  9. 如何导入android中的sample例子到eclipse中

随机推荐

  1. 5.Pandas 导入导出
  2. 1.spring概述
  3. 7.Pandas 合并 merge
  4. 2.Pandas 选择数据
  5. 1.Pandas 基本介绍和两个数据结构
  6. 1.算法课程主要内容及有关概念: 复杂度的
  7. 1.Numpy 属性
  8. 2.算法的数学基础: 序列求和, 递推方程,
  9. 0.Numpy&Pandas简介和安装
  10. 3.分治算法的设计思想与分析方法: 芯片测