博客
关于我
Android之Button自定义点击效果
阅读量:796 次
发布时间:2023-03-28

本文共 1126 字,大约阅读时间需要 3 分钟。

我们在界面上经常会用到button按钮,但通常button点击后看不到点击的效果,如果用户连续点击了两次,就会报NAR错误,这样交互性就比较差了。如果我们自定义了button点击效果,比如我们点击了button能让我们看到我们确实点击了button按钮,这样就会有效的避免重复点击了。

自定义点击效果有两种方式,一种是在xml中定义,另一种是在代码中定义。

首先看一下如何在xml中定义。在drawable下新建selector.xml文件:

这样我们就定义了两种状态:一种是按下,一种是获得焦点。drawable分别引用了这三张图片。

然后在main.xml下添加button按钮:

在MainActivity中获取button并设置点击监听:

Button button1 = (Button) findViewById(R.id.button1);button1.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        Toast.makeText(getApplicationContext(), "你点击了button按钮", Toast.LENGTH_SHORT).show();    }});

接下来是第二种实现方式,在代码中实现。首先在main.xml中添加:

在MainActivity中实现:

Button button2 = (Button) findViewById(R.id.button2);button2.setOnTouchListener(new OnTouchListener() {    @Override    public boolean onTouch(View v, MotionEvent event) {        if (event.getAction() == MotionEvent.ACTION_DOWN) {            v.setBackgroundResource(R.drawable.button_press);        } else if (event.getAction() == MotionEvent.ACTION_UP) {            v.setBackgroundResource(R.drawable.button_nomal);        }        return false;    }});

转载地址:http://xshfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现最近点对问题(附完整源码)
查看>>
Objective-C实现最长公共子序列算法(附完整源码)
查看>>
Objective-C实现最长回文子串算法(附完整源码)
查看>>
Objective-C实现最长回文子序列算法(附完整源码)
查看>>
Objective-C实现最长子数组算法(附完整源码)
查看>>
Objective-C实现最长字符串链(附完整源码)
查看>>
Objective-C实现最长递增子序列算法(附完整源码)
查看>>
Objective-C实现有向图和无向加权图算法(附完整源码)
查看>>
Objective-C实现有序表查找算法(附完整源码)
查看>>
Objective-C实现有限状态机(附完整源码)
查看>>
Objective-C实现有限状态自动机FSM(附完整源码)
查看>>
Objective-C实现有限集上给定关系的自反关系矩阵和对称闭包关系矩阵(附完整源码)
查看>>
Objective-C实现服务程序自启动(附完整源码)
查看>>
Objective-C实现服务端客户端聊天室(附完整源码)
查看>>
Objective-C实现朴素贝叶斯算法(附完整源码)
查看>>
Objective-C实现杨氏3X3矩阵(附完整源码)
查看>>
Objective-C实现杰卡德距离算法(附完整源码)
查看>>
Objective-C实现极值距离算法(附完整源码)
查看>>
Objective-C实现极小极大算法(附完整源码)
查看>>
Objective-C实现构造n以内的素数表(附完整源码)
查看>>