`
shuai1234
  • 浏览: 986758 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

Android中设计具有背景图的按钮—ImageButton的焦点及事件处理

阅读更多
<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"

/>

分享到:
评论

相关推荐

    android 具有背景图片的按钮 ImageButton的焦点事件以及事件处理

    以上就是关于`android 具有背景图片的按钮 ImageButton的焦点事件以及事件处理`的相关知识。通过理解并熟练掌握这些技巧,你能够创建出更富交互性的Android应用程序,提升用户体验。在实际开发中,还需要注意性能...

    ImageButton的焦点及事件处理

    总结来说,`ImageButton`的焦点处理和事件响应是Android UI开发中的基础操作。通过定义和应用状态选择器,我们可以根据用户交互改变组件的视觉反馈,同时通过监听点击事件来执行相应的业务逻辑。这不仅提升了用户...

    andoid点击按钮(ImageButton)时改变按钮的背景图片 SelectorDemo

    在Android开发中,按钮(Button)是用户交互的重要元素,而`ImageButton`是按钮的一种特殊形式,主要用于显示图像。在本教程中,我们将探讨如何在用户点击`ImageButton`时动态改变其背景图片,这个功能可以通过使用`...

    ImageButton图片按钮

    在Android开发中,`ImageButton`是一个非常常用的组件,它继承自`ImageView`,并增加了点击事件处理的功能。本文将深入探讨`ImageButton`的基本概念、使用方法、属性设置以及实际应用场景,帮助开发者更好地理解和...

    Android4.0开发学习之ImageButton

    但在`ImageButton`中,还可以设置`android:background`属性,用于定义按钮的背景,这通常是一个选择器(`selector`),以实现不同状态下的视觉效果,如按下、焦点等。 ```xml &lt;ImageButton android:id="@+id/image...

    Android下实现win8风格的imageButton

    "Android下实现win8风格的imageButton"这一主题旨在教你如何在Android应用中创建具有Windows 8特色的弹性回弹效果的ImageButton。这种效果使得按钮在被触摸时能够产生视觉上的动态反馈,提升用户体验。 首先,要...

    Android2.2 API 中文文档系列(7) —— ImageButton

    例如,如果按钮被按下,那么首先会被`android:state_pressed="true"`所匹配,即使此时按钮也可能同时获得了焦点,也不会再去查找`android:state_focused="true"`。 #### 控件透明度设置 `ImageButton`还提供了一个...

    ImageButton 控件应用.rar

    总结,`ImageButton`控件是Android开发中实现图文并茂的交互按钮的关键工具,通过合理配置其属性和处理事件,可以创建出各种富有视觉吸引力且易用的用户界面。在实践中,我们应当关注其适配性、可访问性和性能优化,...

    安卓Android源码——ImageButton.rar

    总结,`ImageButton` 在 Android 应用开发中是一个强大的工具,通过源码学习我们可以了解到它的绘图机制、事件处理以及如何进行自定义扩展。理解这些细节有助于我们编写出更高效、更易用的界面。在实际开发中,合理...

    android ImageButton示例

    首先,`ImageButton`在XML布局文件中的声明方式与`ImageView`类似,但通常会添加`android:background`属性来指定按钮的背景图片。例如: ```xml &lt;ImageButton android:id="@+id/my_button" android:layout_width=...

    Android 自定义控件DemoCustomView-ImageButton

    默认情况下,`ImageButton`具有透明背景,焦点时显示边框。 3. **绘制逻辑**:自定义控件往往需要重写`onDraw()`方法来实现自己的绘图逻辑。在这个练习中,可能包括了修改按钮的形状、添加自定义边框、更改默认的按...

    android有关按钮的小例子全集

    在Android开发中,按钮(Button)是用户界面中不可或缺的元素,它允许用户与应用程序进行交互,执行特定操作。这个“android有关按钮的小例子全集”涵盖了多种按钮的实现方式,帮助初学者深入理解和掌握Android按钮...

    实现跟踪鼠标单击状态的图片按钮

    在Android开发中,图片按钮(ImageButton)是一种常用的UI元素,它可以显示图像并响应用户的点击事件。实现一个跟踪鼠标单击状态的图片按钮,主要是通过监听按钮的按下和释放事件,来改变按钮的显示状态,以提供用户...

    ImageButton

    `ImageButton`常用于导航栏的返回按钮、设置按钮、游戏的控制按钮等场景,其简洁的图形界面使得它成为UI设计中不可或缺的一部分。 总结,`ImageButton`是Android开发中的一个重要组件,它结合了图像与交互功能,...

    Android ImageButton自定义按钮的按下效果的代码实现方法分享

    在Android开发中,自定义按钮的效果是提升用户体验的重要一环,特别是当用户点击按钮时能够看到明显的视觉反馈。本文将详细介绍两种实现Android ImageButton按下效果的方法。 首先,我们来看第一种方法,通过Java...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    4.2 设计具有背景图的按钮——ImageButton的焦点及事件处理 4.3 给耶诞老人的信息——Toast对象的使用 4.4 我同意条款——CheckBox的isChecked属性 4.5 消费券采购列表——多选项CheckBox的应用 4.6 向左或向右——...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    4.2 设计具有背景图的按钮——ImageButton的焦点及事件处理 4.3 给耶诞老人的信息——Toast对象的使用 4.4 我同意条款——CheckBox的isChecked属性 4.5 消费券采购列表——多选项CheckBox的应用 4.6 向左或向右——...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    4.2 设计具有背景图的按钮——ImageButton的焦点及事件处理 4.3 给耶诞老人的信息——Toast对象的使用 4.4 我同意条款——CheckBox的isChecked属性 4.5 消费券采购列表——多选项CheckBox的应用 4.6 向左或向右——...

Global site tag (gtag.js) - Google Analytics