`

android button按键得到焦点和点击后改变背景图片

阅读更多

我也接受android不久,今天来给同学们分享一下button得到焦点和点击后改变背景图片,其实很简单就是两个事件setOnFocusChangeListener和setOnClickListener就OK了。

这是Activity 中的代码。

package com.hai;

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 Main extends Activity {

    private TextView mTV;

    private ImageButton imgBtn;

    private Button btn;

    /** Called when the activity is first created. */

    @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.shortcut_pic_focus);

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

               }else{

                   imgBtn.setImageResource(R.drawable.shortcut_pic_unfocus);

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

               }

            }

        });

        

        // ImageButton的单击事件

        imgBtn.setOnClickListener(new ImageButton.OnClickListener(){

           @Override

           public void onClick(View v) {

              // TODO Auto-generated method stub

              imgBtn.setImageResource(R.drawable.shortcut_pic_focus);

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

           }

        });

        

        // 普通按钮的单击事件

        btn.setOnClickListener(new Button.OnClickListener(){

           @Override

           public void onClick(View v) {

              // TODO Auto-generated method stub

              imgBtn.setImageResource(R.drawable.shortcut_pic_unfocus);

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

           }

        });

    }

}

 然后再写一个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/shortcut_pic_unfocus"

    />

<Button

    android:id="@+id/Btn"

    android:layout_width="wrap_content" 

    android:layout_height="wrap_content" 

    android:text="Button按钮"

    />
    
    

    

</LinearLayout>

 

大伙直接把代码拿过去就可以看到效果,记得自己本地图片.

1
1
分享到:
评论
1 楼 haiyang08101 2011-10-09  
  很好!学习了...

相关推荐

    Android 自定义Button按钮显示样式(正常、按下、获取焦点)

    现在,当我们的自定义Button在不同状态下(按下、获取焦点、正常)时,它会根据我们在`custom_button.xml`中定义的规则改变颜色。同时,通过自定义属性,我们还能控制文本颜色和大小,使按钮更加灵活。 在实际开发...

    android中模拟焦点移动

    在Android中,每个可以接收输入的View(如Button、EditText)都有一个焦点状态,分为两种:获得焦点(focused)和无焦点(unfocused)。焦点的移动是由系统的焦点管理器自动处理的,但开发者可以通过编程方式控制这...

    Button 自定义点击样式,添加音效

    总结来说,自定义Button点击样式和添加音效能显著提升Android应用的交互体验。通过定义XML选择器,我们可以灵活地控制按钮在不同状态下的外观。同时,结合MediaPlayer类,我们可以轻松实现按钮点击时播放音效的功能...

    Android应用源码之按键的处理.zip

    通过这个“Android应用源码之按键的处理”压缩包,开发者可以学习到如何在实际项目中有效地管理和响应按键事件,提升用户界面的交互体验。实际应用中,可能需要结合具体场景进行优化,例如处理按键重复触发、避免...

    UI TextView菜单模拟按键

    为了使TextView看起来像按键,我们需要设置合适的背景资源,比如使用Selector作为背景,Selector可以根据状态(如按下、默认、焦点等)改变颜色或图像。此外,我们还可以添加点击事件监听器,使得当用户触摸TextView...

    Android videoview抢占焦点的处理方法

    但是当点击 Button 跳转到下一个 Activity 并返回时,焦点却聚焦到了 VideoView 上,并且代码里强制设置焦点:`Button.requestFocus();`无效。 原因分析: 查看了 VideoView 的源码,发现原因出在初始化上面上。在...

    android自定义按钮控件样式

    6. **库和工具**:Android社区提供了许多开源库,如`ShapedButton`或`MaterialButton`,它们可以帮助开发者轻松实现自定义按钮样式,同时提供了更多高级特性,如动画效果。 在提供的压缩包文件`AndroidDemoCNG`中,...

    自定义键盘(数字、字母、符号自由切换;每个按键背景色自定义;键盘不遮挡编辑框)

    在Android开发中,自定义键盘是一项常见的需求,它允许开发者为用户提供更加个性化和高效的操作体验。本项目"自定义键盘(数字、字母、符号自由切换;每个按键背景色自定义;键盘不遮挡编辑框)"正是针对这些需求...

    机顶盒ImageView获取焦点

    默认情况下,只有`ViewGroup`(如`LinearLayout`、`RelativeLayout`)和某些可以直接交互的`View`(如`Button`、`EditText`)能够获得焦点。 为了使`ImageView`能够获取焦点,我们需要进行以下几步操作: 1. **设置可...

    安卓-事件处理小例子(焦点事件)

    在Android开发中,事件处理是构建用户界面的关键部分,它涉及到与用户交互的各种动作,如点击、滑动、按键等。焦点事件是其中一种特殊类型的事件,尤其在多个可聚焦视图(如EditText、Button等)共存时显得尤为重要...

    Android自定义随机键盘

    每个按键通常是一个Button或ImageButton元素,通过设置文字或图片来表示不同的键值。在布局中,我们还需要考虑按键的排列、大小和样式,以确保良好的用户体验。 接着,我们需要在Java代码中处理这些按键的点击事件...

    android edittext 自定义按键盘

    当EditText获得焦点时,显示自定义键盘;失去焦点时,隐藏自定义键盘。可以使用`OnFocusChangeListener`来实现这一功能。 ```xml xmlns:android="http://schemas.android.com/apk/res/android" android:layout_...

    android GUI

    如果指定一个颜色的话会把 text 的背景设为该颜色,并且同时和 background 使用时覆盖后者。 - **android:drawableLeft**:在 text 的左边输出一个 drawable,如图片。 - **android:drawablePadding**:设置 text 与...

    android自定义键盘

    每个按键可以是一个`Button`或其他可点击的视图,通过设置其背景、文字和点击事件来实现。在`MyKeyboard-master`项目中,可能包含了`keyboard.xml`这样的布局文件,定义了各种按键及其布局样式。 其次,实现键盘...

    Android基本控件事件总结

    此外,EditText还可以处理键盘事件,通过实现OnKeyListener接口,监听按键的按下和释放: ```java private class class_name implements OnKeyListener { public boolean onKey(View v, int keyCode, KeyEvent ...

    android界面编程基础

    在Android中,事件处理主要涉及用户与界面元素的交互,如点击、长按、焦点改变等。View类提供了多种回调方法来处理这些事件: 1. onTouchEvent(MotionEvent event):处理触摸事件,包括ACTION_DOWN(按下)、ACTION...

    Android-自定义车牌输入键盘

    每个按键可以是一个独立的Button或自定义的ViewGroup,确保每个键的点击事件能够正确处理。 - 考虑到屏幕适配,可以使用比例值(如dp)来设置键的大小和间距,保证在不同尺寸的设备上显示效果良好。 2. **键盘状态...

Global site tag (gtag.js) - Google Analytics