自定义背景android,Android自定义Button并设置不同背景图片的方法
本文实例讲述了Android自定义Button并设置不同背景图片的方法。分享给大家供大家参考,具体如下:
1、自定义MyButton类
public class MyButton extends Button {
//This constructormust be
public MyButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyButton(Context context) {
super(context);
}
private Paint mPaint = null;
private String mText;
private int mX, mY;
public void onSetText(String text, int nLeft, int nBottom, int nTextSize,
int nTextColor) {
mPaint = new Paint();
mPaint.setTextSize(nTextSize);
mPaint.setColor(nTextColor);
this.mText = text;
this.mX = nLeft;
this.mY = nBottom;
}
private int mDownBmpId, mUpBmpId;
public void onSetBmp(int nDownID, int nUpID) {
this.mDownBmpId = nDownID;
this.mUpBmpId = nUpID;
}
@Override
public void onDraw(Canvas canvas) {
if (mPaint != null)
canvas.drawText(mText, mX, mY, mPaint);
super.onDraw(canvas);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
super.setBackgroundResource(mDownBmpId);
} else if (event.getAction() == MotionEvent.ACTION_UP) {
super.setBackgroundResource(mUpBmpId);
}
return super.onTouchEvent(event);
}
}
2、 在xml布局文件中添加MyButton控件,像应用普通的Button控件一样。
android:id="@+id/test_btn" android:layout_width="120px"
android:layout_height="fill_parent" android:text="Test"
android:background="@drawable/btn_u" />
其中com.MyButton是你定义的MyButton类所在的包名
3、在onCreate()中加载MyButton控件。
MyButton btn = (MyButton)findViewById(R.id.test_btn);
btn.onSetBmp(R.drawable.btn_d, R.drawable.btn_u);
其中btn_d表示为按下btn时背景图片,btn_u为默认状态下btn背景图片
更多关于Android控件相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
自定义背景android,Android自定义Button并设置不同背景图片的方法相关推荐
- android alertdialog 背景透明,Android Alertdialog弹出框设置半透明背景
自定义AlertDialog基本步骤: 1.写一个layout布局,使用inflater生成对应view对象 2.新建AlertDialog.Builder对象builder 3.builder设置自 ...
- 【Android】代码中动态设置 drawable 背景
如图这样的效果,我们平时直接可以在 xml 写死. 写法很简单. <?xml version="1.0" encoding="utf-8"?>< ...
- 计算机怎么换背景图片,电脑开机背景图怎么换_怎么设置开机背景的教程
最近有不少朋友问小编电脑开机背景图怎么换的问题,对于怎么设置开机背景的问题,相信还有很多朋友不太明白,有时候我们感觉系统自带的开机背景图片不好看,不符合我们的审美,想要换成我们喜欢的开机背景图,那么应 ...
- Android中遇到button按钮设置背景图片无法显示的解决方案
给button设置了background的属性却显示不出来 1.在图片导入时选错位置,应该选择第一个位置,如果选了第二个图片后面会有(v24)[如下图]就有可能加载不出来. 新版引入drawable ...
- android alertdialog_Android进阶:Activity设置主题背景后AlertDialog的背景随之改变的问题分析
在制作App的闪屏页时如果你仔细观察就会发现,每次你在手机桌面点击图标启动应用时会先出现一个白色背景(也就是我们通常所说的白屏),然后才会跳转到闪屏页. 就像这样: 关于如何解决启动时的白屏问题,大家 ...
- JAVA 浏览器下载excel,自定义样式:合并单元格,设置多种背景填充颜色,冻结窗格
添加依赖: <!-- POI --><dependency><groupId>org.apache.poi</groupId><artifactI ...
- android手机禁止休眠_android设置屏幕禁止休眠的方法
在正常情况下,Android系统会让程序和服务进入休眠状态以节约电量使用.然而在开发Android程序时,有时候在程序运行的时候,不能让系统休眠,否则有一些运行会停止,因此我们需要设置禁止休眠.And ...
- 平板win10 android哪个耗电,Win10充分利用设置提升平板/笔记本电池续航方法
当今,越来越多的人选择在各种各样的移动便携设备,包括手机.平板和笔记本上完成各种事情.在这些设备中最影响生产力的便是电池续航,虽然近些年来电池技术有了很大改进,但是离人们普遍期望还有一些距离. 在Wi ...
- java jbutton 背景颜色_java – 在Windows上设置JButton背景颜色
我有一个JButton,我想将背景设置为一种颜色. JButton button = new JButton(); button.setVisible(true); button.setPreferr ...
最新文章
- 新兴解决方案增强了电动汽车电源(功耗)管理
- 计算机dns的工作原理,DNS的工作原理图解说明
- C#文件操作基础之File类和FileInfo类
- Struts2中的OGNL表达式
- oracle 查看用户、权限、角色
- Qt文档阅读笔记|Qt实践| HTTPS知识点-获取某站点SSL证书
- java定时器参数_Java报表软件定时器参数之一
- ResNet改进版来了!可训练网络超过3000层!相同深度精度更高
- 英雄七十寿 无物下冷酒 横刀上闹市 直取数人头
- java代码删除本地文件_java程序实现删除本地文件
- Maven的下载与配置(包含阿里云镜像配置)
- keras-yolo3-master使用记录
- Bribing FIPA
- 洛马公司获得阿联酋“萨德”导弹防御系统支持合同-我爱无人机网
- 林轩田之机器学习课程笔记( embedding numerous feature之dual support vector machine)(32之18)
- 如何用Python找回微信撤回信息
- 本地数据库IndexedDB - 初学者
- 生产者消费者模型问题
- JavaScript学习过程
- 高血糖的饮食注意事项
热门文章
- python观察日志(part24)--列表和numpy数组扁平化
- 探索Julia(part8)--循环语句和条件语句
- 聚类算法(part1)--DBSCAN
- SAP Spartacus Cart UI 修改 quantity 字段后的 Patch 请求遇到 400 错误 - IllegalArgumentError
- SAP UI5 应用开发教程之九 - 创建第一个 Component
- HTTP 头部字段 Cache Control max-age = 0 和 no-cache 的区别
- SAP Spartacus 服务器端渲染处理内存泄漏的准则
- Angular router-outlet占位符层级结构的子节点,运行时是如何插入的
- SAP Spartacus的登录验证机制 - user login Authentication
- SAP Spartacus的b2cLayoutConfig