实现按钮按下和释放,按钮背景图片相应切换效果的方法这里介绍两种,一种是在代码里实现,另一种是在xml文件里实现
一、在xml文件里
首先现在layout的一个xml文件下定义Button如下所示:
-
<Button
-
android:id="@+id/btn_user_selected"
-
android:layout_width="wrap_content"
-
android:layout_height="wrap_content"
-
android:background="@drawable/btn_selected/>
注意代码里的android:background="@drawable/btn_selected",这里btn_selected是drawable文件下定义button按下释放效果的xml文件
接下来看btn_selected.xml文件的定义:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
-
-
<itemandroid:state_focused="true"android:state_enabled="true"android:state_pressed="false"android:drawable="@drawable/user_selecte_n"/>
-
-
<itemandroid:state_enabled="true"android:state_pressed="true"android:drawable="@drawable/user_selecte_p"/>
-
-
<itemandroid:state_enabled="true"android:state_checked="true"android:drawable="@drawable/user_selecte_p"/>
-
-
<itemandroid:drawable="@drawable/user_selecte_n"/>
-
</selector>
创建xml:点击drawable文件夹右键-->new-->Android XML File-->在File栏里填写xml名称-->Root Element下选择xml的背景选择器selector-->点击finish-->创建成功
相关属性:
android:state_selected:选中
android:state_focused :获得焦点
android:state_pressed :点击
android:state_enabled :设置是否响应事件,指所有事件
selector背景选择器用法大全请跳转到:点击打开链接
二、在java代码里
-
bottomReturnBtn.setOnTouchListener(newOnTouchListener(){
-
-
publicbooleanonTouch(Viewv,MotionEventevent){
-
ButtonupStepBtn=(Button)v;
-
if(event.getAction()==MotionEvent.ACTION_DOWN){
-
upStepBtn.setBackgroundResource(R.drawable.bottom_sub_order_btn);
-
}elseif(event.getAction()==MotionEvent.ACTION_UP){
-
upStepBtn.setBackgroundResource(R.drawable.bottom_return_check);
-
finish();
-
}
-
returnfalse;
-
}
-
});
通过监听按钮的不同状态来更改按钮的背景图片
public boolean onTouch(View v,MotionEvent event){
}
参数v:事件源对象
参数event:事件封装类的对象,其中封装了触发事件的详细信息,同样包括事件的类型、触发时间等信息。
event.getAction() == MotionEvent.ACTION_DOWN ======>按钮被按下
event.getAction() == MotionEvent.ACTION_UP======>按钮被释放
分享到:
相关推荐
是一个轻量级的开发包,用于实现 Android 上的异步任务和操作 UI 元素,可让 Android 应用开发更加简单、容易,更有趣。 16、Android-Universal-Image-Loader 为了实现异步的网络图片加载,支持多线程异步加载。 ...
拍照与录像切换UI源码.zip
安卓源码包android 动画效果Android 烟花效果源码等21个合集: activity切换特效.rar Android Layout UI 首页加载过渡动画,星期变化动画.rar android 仿真翻页效果.rar Android 烟花效果源码.zip Android仿苹果的...
•Android---UI篇---TabWidget(切换卡) • •Android---UI篇---LinearLayout(线性布局) • •Android---UI篇---WebView(网络视图) • •Andorid---UI篇---两种进度条(ProgressBar) • •Android---UI篇---...
Android源码下载,自定义的圆环ImageView、ViewPager的动画切换、流式布局 自定义的带圆环的ImageView; 2、ViewPager的切换动画; 3、流式布局。。
大家使用Android的原生UI都知道,Android的Activity跳转就是很生硬的切换界面。其实Android的Activity跳转可以设置各种动画。下面给大家看看效果: 实现非常简单,用overridePendingtransition(int inId, int outId)...
不是硬性的点击按钮而是可以实现手指的拖动,划开效果。使用户具有更好的交互体验,不过这种效果是如何实现的呢? 在Android中是通过Gallery来实现拖动效果的。 通过Gallery可以实现各种各样的效果,此篇文章只是...
[四次元]一个简单的英汉词典,点击按钮切换汉译英,主要是外部数据库的导入解析!.rar [四次元]仿安卓美团界面.rar [四次元]判断双SD卡_CheckDoubleSDCard.rar [四次元]动态交叉布局demo.zip [四次元]基于Fragment...
实现类似微信--底部按钮点击后,实现上部页面切换功能。自定义ViewPager结合Fragment、RadioGroup实现
在Android4.2.2中,导航栏(也就是屏幕底部的三个按钮,home,back,recentapp)是系统应用SystemUi.apk的一部分,简言之,我们的需求就是让我们的app来控制SystemUi.apk,达到动态显示隐藏屏幕底部导航栏的效果。...
一个UI界面,登陆注册按钮,list列表,及类似微型界面的切换。
IOS的滑动按钮菜单在UI设计里面绝对堪称一绝,在学习了Android的自定义view后,我萌生了模仿它的想法。 实现上面的模拟需要自定义一个View; 1)、在View的OnDraw里画出圆角矩形,分别为灰色圆角矩形,红色圆角矩形...
Android顶部导航效果,安卓仿QQ窗口的顶部导航条效果,制作安卓软件UI时候用得上,里面注释相当多了。保存具体展示的内容,当然这里您也可以使用其他的组件,像ViewFlipper,ViewAnimator等,这样可以在两个view切换...
从技术实现上,讲解了5个android平台下的完整综合实例及源代码分析,分别是rss阅读器、基于google map的个人gps、豆瓣网(web 2.0)客户端、在线音乐播放器、手机信息查看助手。本书注重对实际动手能力的指导,在遵循...
1.2 Android的背景 1.2.1 Android的历史 1.2.2 Android的发展 1.3 我的Android我做主 1.3.1 开发基于Android平台的应用 1.3.2 参加Android开发者大赛 1.3.3 个人英雄主义再现——得到更多人的认可和尊重 1.3.4 获得...
Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商...
Android 自定义切换按钮 获取涵盖此 repo 中代码的教程 通常在创建 Android 应用程序的过程中,开发人员需要创建一个设置页面。 这允许应用程序的用户更改将持续到下一个会话的应用程序设置,例如“启用我的位置”或...
注意,本控件非继承自ViewGroup,而是纯自定义View,实现的仿饿了么加入购物车控件,自带闪转腾挪动画的按钮。 图1 项目中使用的效果,考虑到了View的回收复用, 并且可以看到在RecyclerView中使用,切换...
《Android从入门到精通》 第1章 初识Android 1.1 什么是Android 1.1.1 移动信息设备分类 1.1.2 Open Handset Alliance和 Android 1.2 Android简介 1.2.1 Andriod的历史 1.2.2 Andriod的未来 1.2.3 Andriod平台的技术...