【android自定义控件】TextView详解及自定义一
作为android最常见的控件之一,有以下常用的属性:
layout_width,layout_height:每个控件必备的属性
text:文本显示,输入属性
textColor:文字颜色属性
textSize:文字大小
还有一些特性,在某些场合用的
autoLink:设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接
autoText:将自动执行输入值的拼写纠正
drawableBottom:在text的下方输出一个drawable,如图片
drawableRight:在text的右边输出一个drawable。
drawableTop:在text的正上方输出一个drawable。
editable:设置是否可编辑
ellipsize:设置当文字过长时,该控件该如何显示
ems:设置宽度为N个字符的宽度
shadowRadius:设置阴影的半径
shadowColor:指定文本阴影的颜色,需要与shadowRadius一起使用,且shadowRadius必须设置。
shadowDx:设置阴影横向坐标开始位置。
shadowDy:设置阴影纵向坐标开始位置。
还有很多属性,这些android的TextView提供的就不多说了,自己熟悉了,掌握好常用的几个,其他特性查api就知道了。
接下来是我要说的重点,当我们需要一些特性的TextView功能时,但是提供的api不能满足,比如做一个倾斜的Textview,
这样就需要自定义了。
步骤:
1、写一个MyTextView类继承View,重写View的onDraw()方法。
2、我们还需要一只画笔Paint,帮我们画TextView;
Paint p=new Paint();
p.setColor(Color.BLUE);
p.setAntiAlias(true);//消缺锯齿
3、 画笔准备好了,也画完内容,这时候TextView是正常的显示,要想TextView倾斜,我们想到把画布倾斜就可以了
Canvas c=new Canvas();c.save();//save,和restore成对出现,保存画布状态,不对其他控件影响c.rotate(45);//设置画布旋转45度c.drawPaint(p);c.restore();
4、完成了自定义TextView,我们就可以在Xml中引用了
大功告成,你自己是否回去试试看呢
【android自定义控件】TextView详解及自定义一相关推荐
- android自定义控件(6)-详解在onMeasure()方法中如何测量一个控件尺寸
今天的任务就是详细研究一下protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)方法.如果只是说要重写什么方法有什么 ...
- android tablayout 自定义,TabLayout用法详解及自定义样式
TabLayout的默认样式: app:theme="@style/Widget.Design.TabLayout" 从系统定义的该样式继续深入: fill fixed 264dp ...
- Android软件开发之TextView详解(六)
Android软件开发之TextView详解 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/ ...
- Android进阶——AIDL详解之使用远程服务AIDL实现进程间带远程回调接口和自定义Bean的较复杂通信小结(二)
文章大纲 引言 一.远程回调AIDL接口的应用 1.封装基本的父类和一些工具类 2. 创建服务端的AIDL 2.1.定义回调AIDL接口 2.2.定义业务AIDL接口 3.实现服务端对应AIDL的带有 ...
- Android事件流程详解
Android事件流程详解 网络上有不少博客讲述了android的事件分发机制和处理流程机制,但是看过千遍,总还是觉得有些迷迷糊糊,因此特地抽出一天事件来亲测下,向像我一样的广大入门程序员详细讲述an ...
- Android相机开发详解(一)
Android相机开发详解(一) 请支持原创,尊重原创,转载请注明出处:http://blog.csdn.net/kangweijian(来自kangweijian的csdn博客) Android相机 ...
- Android 属性动画 详解
Android 属性动画 详解 Android动画类型: View Animation(即所谓的Tween Animation补间动画):View Animation相当简单,不过只能支持简单的缩放. ...
- android preference属性,Android进阶——Preference详解之Preference系的基本应用和管理(二)...
并非我们第一次打开相应界面之后就会自动创建对应的SharedPreferences文件,而是在我们改变了原有状态时候喎�"/kf/ware/vc/" target="_b ...
- JMessage Android 端开发详解
JMessage Android 端开发详解 目前越来越多的应用会需要集成即时通讯功能,这里就为大家详细讲一下如何通过集成 JMessage 来为你的 App 增加即时通讯功能. 首先,一个最基础的 ...
- android屏幕适配详解
android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 一.关于布局适配建议 1.不要 ...
最新文章
- 从集合中查找最值得方法——max(),min(),nlargest(),nsmallest()
- java 递归从子节点删除父节点_LeetCode450. 删除二叉搜索树中的节点
- Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令
- 100条常用写作谚语(1)(2)(3)(4)
- 小猪的Android入门之路 day 1
- python -- configparse读取配置文件
- 正确使用招呼语、称呼语_5
- Windows Server 2016-批量设置用户下次登陆须更改密码
- AcWing基础算法课Level-2 第二讲 数据结构
- 什么是BI(Business Intelligence
- 计算机网络网络层之链路状态路由算法
- 【SAS BASE】PROC FREQ
- 《测绘程序开发实习》导线网平差 C++上机实验报告 CSU
- java案例代码19--二分查找排序
- 非常强大的时间日期插件 --- JeDate.js
- android高德地图热力图,2D 热力图-热力 HeatmapLayer-示例中心-Loca API 示例 | 高德地图API...
- linux启动SSH及开机自动启动
- html页面字体缩小模糊怎么解决,ps字体模糊怎么变清晰 设置一下字体大小,是否一样...
- 《东周列国志》第三十三回 宋公伐齐纳子昭 楚人伏兵劫盟主
- 第三部分PaddleX模型集_3.1 图像分类
热门文章
- python 输出 2到n的素数 附源码 注释超详细。。。
- think php5关联模型,thinkphp5 关联模型
- asp上传服务器后台图片显示,asp.net上传图片到服务器方法详解
- luogu_4551【题解】最长异或路径 trie树
- 关于jQuery、AJAX、JSON(一)
- 【转】plist文件的内容清空
- 黑马程序员——OC学习笔记—— Copy
- javascript 中==和===的区别
- 使用正则test方法遇到的问题
- C#开源爬虫NCrawler源代码解读以及将其移植到python3.2(4)