1.前言             在android4.0以后,有switch控件.相似于iPhone上面滑块的效果.可是仅仅能用在4.0以后的系统中.之前的平台.就无法使用这种控件. 近段时间.看到了小米3手机上自带的计算器app,有这种效果.上面的一个控件,认为非常美丽,而且与iPhone上的效果略有不同,于是自己动手编写了一下这个功能.在编写的过程中.參考过网上的一些demo,执行后,在控件滑动的时候.感觉动画不平滑,有卡顿的现象,重复改动.最后还是有一些问题.感觉是在滑动中的状态,没有合理…
近日在android项目要使用开关控件.可是android中自带的开关控件不太惬意,所以就打算通过自己定义View写一个开关控件 ios的开关控件当然就是我要仿照的目标. 先上图:   watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">  分析: 开关控件,中包括了两个部…
在我们实际开发其中.会碰见一些布局结构类似或者同样的界面.比如应用的设置界面.tabbutton界面等. 这时候.对于刚開始学习的人来说,xml里面一个个绘制出来也许是最初的想法.可能随着经验的积累,又学会一招.就是使用include标签,导入类似或者同样的布局,提高了性能又降低了代码:再以后呢,自己定义控件又能够实现这一目的.本文就是简单的使用自己定义的组合控件模仿猫眼底部菜单条. 1.自己定义组合控件属性:在res/values文件夹下创建attrs.xml文件 <declare-style…
自己定义控件是一些android程序猿感觉非常难攻破的难点,起码对我来说是这种,可是我们能够在网上找一些好的博客关于自己定义控件好好拿过来学习研究下,多练,多写点也能找到感觉,把一些原理弄懂,今天就讲下自己定义组合控件,这个特别适合在标题栏或者设置界面,看以下图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZXJpbmNoaW5h/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/7…
ios一些控件还是挺美丽的,可是对android程序猿来说可能比較苦逼,由于ios一些看起来简单的效果对android来说可能就没那么简单了,可是没办法非常多产品都是拿ios的一些控件叫android开发者来照着做,今天就来做一个设置中常见的开关效果, 思路: 1:准备二张图片 一个是包括开和关二种状态的图片,一个是上面滑动的button图片 2:这些图片肯定是不能通过原生态的控件显示上去的,要通过canvas画上去 3:要解决点击和滑动的事件冲突,由于点击包括 按下 离开,而滑动包括按下  移…
从Android系统出发,分析Android控件构架 Android中所有的控件追溯到根源,就是View 和ViewGroup,相信这个大家都知道,但是大家也许会不太清楚它们之间的具体关系是什么,在Android的系统当中它们有充当着什么样的角色.那么下面就让我给大家捯饬捯饬. 其实在Android当中是这样的,每个控件在Android中都是占据一个矩形的区域,而ViewGroup相当于是一个容器(大家可以这么理解)一个专门放View的一个容器,也可以放ViewGroup,并且上层的ViewGr…
UISwitch iOS中的开关控件,只有两种状态,打开或关闭. aSwitch.tintColor = [UIColor redColor]; //关闭状态下的渲染颜色 aSwitch.onTintColor = [UIColor blueColor]; //打开状态下的渲染颜色. aSwitch.on = NO; //将其显示状态为打开 (默认关闭). aSwitch.thumbTintColor = [UIColor blackColor]; //改变switch开关按钮的颜色. [aSw…
Android 使用shape定义不同控件的的颜色.背景色.边框色 设置按钮的右边框和底边框颜色为红色,边框大小为3dp: 在drawable新建一个 buttonstyle.xml的文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> &…
(1)UISwitch的大小也是固定的,不随我们frame设置的大小改变:也是裁剪成圆角的,设置背景就露马脚发现背景是矩形. (2)UISwitch的背景图片设置无效,即我们只能设置颜色,不能用图片当背景,虽然实验了很小的图片,也是不行.可能需要借助第三方类来实现. (3)UISwitch也可以增加addTarget:方法,来获取值变动的操作,从而做出响应的反应. (4).isOn属性比较特殊,不能设置值,因为是哥getter方法,不是setter方法,所以只能获取值,例如判断是否开启,一般用在…
// // MyDraw.m // 绘图 #import "MyDraw.h" @implementation MyDraw //Quartz2D 是一个二维绘图引擎 //自己定义UI控件 //裁剪图片 - (void)drawRect:(CGRect)rect { draw4Rect(); //drawTriangle(); } void draw4Rect() { //获得图形上下文 CGContextRef ctx = UIGraphicsGetCurrentContext();…