当前位置: 首页 > news >正文

android按钮图,android-UI组件实例大全(三)------按钮Button与图片按钮ImageButton

一.Button按钮

1.带阴影的普通按钮

代码:

[html]view

plaincopyprint?

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="15sp"

android:text="带阴影的普通按钮"

android:shadowColor="#AC3501"

android:shadowRadius="1"

android:shadowDx="5"

android:shadowDy="5"

/>

运行截图:

879c570dd1070f45018bc50647c5949c.png

代码解释:

shadowColor:设置阴影颜色,有这个要搭配shadowRadius

shadowRadius:设置阴影半径

shadowDx:阴影的起始横坐标,即水平方向偏移文字的距离

shadowDy:阴影的起始纵坐标,即竖直方向偏移文字的距离

2.带按下效果的按钮:

如果为想要为按钮弄一个图片的话只要background ="...."就可以设置按钮的背景图片了,但是当我们点击这个按钮的时候,

没有任何反应,o(╯□╰)o,就像在点标签一样,没意思,这里的话我们就实现具有按下效果的按钮吧

比较常用的有两种设置方法

1)在我们的布局文件中直接实现:

代码:

main.xml部分:

[html]view

plaincopyprint?

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="15sp"

android:text="有按下效果的按钮"

android:background="@drawable/backselector"

/>

上面用到的background的backselector我们需要在drawable文件下自定义一个xml文件

完成按下与没按下背景的切换

backselector部分

[html]view

plaincopyprint?

android:state_pressed="false"

android:drawable="@drawable/btnoff">

android:state_pressed="true"

android:drawable="@drawable/btnon">

运行截图:

没按下时:按下后:

0311a7f834cfa104fc35a15c41f00d20.png 232ae63a32ed1e110eab2cde9b618834.png

代码解释:

selector:可以理解为一个背景选择器,当按钮处于哪个状态的时候就会调用对应得item

[html]view

plaincopyprint?

//这个是选择

[html]view

plaincopyprint?

//这个是移动到按钮上

[html]view

plaincopyprint?

//这个是按下了按钮

2)另外一种是在java代码中设置监听事件,通过监听是否进行了点击事件从而进行背景的切换

代码如下:

[java]view

plaincopyprint?

packagecom.jay.demo.edittextdemo;

importandroid.os.Bundle;

importandroid.view.MotionEvent;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.view.View.OnTouchListener;

importandroid.widget.Button;

importandroid.app.Activity;

publicclassMainActivityextendsActivity {

privateButton btnchange;

@Override

protectedvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btnchange = (Button) findViewById(R.id.btnchange);

btnchange.setOnTouchListener(newOnTouchListener() {

publicbooleanonTouch(View v, MotionEvent event) {

if(event.getAction() == MotionEvent.ACTION_DOWN){

btnchange.setBackgroundResource(R.drawable.btnon);

}elseif(event.getAction() == MotionEvent.ACTION_UP){

btnchange.setBackgroundResource(R.drawable.btnoff);

}

returnfalse;

}

});

}

}

运行截图:同上

代码解释:

btnchange.setOnTouchListener:设置一个触摸事件

event.getAction() == MotionEvent.ACTION_DOWN:判断是否为按下

event.getAction() == MotionEvent.ACTION_UP:判断按钮是否弹起

setBackgroundResource(...):设置按钮的背景图片

因为Button是TextView的子类,因此一些和TextView类似的属性笔者在这里就略过了

还有,至于imageButton和Button其实差不多,这里的话我们也略过了

相关文章:

  • android jmdns,jmdns.jar 通信
  • 锁定当前屏幕触摸android,Android解锁屏幕,然后重新锁定屏幕(Nook简单触摸)
  • 华为鸿蒙os2.0版适用机型,鸿蒙os2.0支持机型_华为鸿蒙os2.0系统支持什么手机
  • android画笔大小,android之画板功能之橡皮擦 画笔大小和画笔颜色
  • dll文件可以在Android上用吗,在Android应用程序中使用dll文件
  • html给看板娘添加语音,如何在网页上插入一个看板娘
  • Android调用美图皮肤接口,首创皮肤识别 美图秀秀android新版上线
  • 没有什么效果的html标签,h1fontcolor=red为什么像这样的标签输入没有效果呢.。。。/font/h1_html/css_WEB-ITnose...
  • 计算机网络范围覆盖类别,计算机网络如何分类和计算机网络的类别
  • 台式计算机启用时间查看,win7系统如何查看电脑的开关机时间想知道是否有他人使用...
  • 文献检索是利用计算机对文献,文献检索计算机课.ppt
  • 利用计算机属性将字符串逆序输出,字符串逆序的各种实现算法
  • 域控重定向停用计算机,域控问题解决意见及调整内容20110724
  • 在教学中利用计算机软件给学生演示,2013年远程教育本科全国统考计算机应用基础模拟题及答案(8)...
  • html5 船,基于HTML5的移动船舶监控应用研究
  • C++类中的特殊成员函数
  • ESLint简单操作
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • REST架构的思考
  • SwizzleMethod 黑魔法
  • Vue2 SSR 的优化之旅
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 从零开始在ubuntu上搭建node开发环境
  • 使用agvtool更改app version/build
  • 正则学习笔记
  • k8s使用glusterfs实现动态持久化存储
  • Mac 上flink的安装与启动
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • (1)常见O(n^2)排序算法解析
  • (145)光线追踪距离场柔和阴影
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)scrum常见工具列表
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .NET Core WebAPI中封装Swagger配置
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .net core 控制台应用程序读取配置文件app.config
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET开源项目介绍及资源推荐:数据持久层
  • @html.ActionLink的几种参数格式
  • [ACTF2020 新生赛]Include
  • [C#][DevPress]事件委托的使用
  • [C#]猫叫人醒老鼠跑 C#的委托及事件
  • [C#C++]类CLASS
  • [CTF]2022美团CTF WEB WP
  • [HCIE] IPSec-VPN (手工模式)
  • [JavaWeb]——获取请求参数的方式(全面!!!)
  • [leetcode 双指针]
  • [Linux] Apache的配置与运用
  • [Machine Learning][Part 7]神经网络的基本组成结构
  • [Matlab有限元分析] 2.杆单元有限元分析
  • [NOI 2016]优秀的拆分