自定义控件

自定义控件 –百科专家总结(最后遗留了问题望网友能帮忙解答)

被刻印的时光 ゝ 提交于 2019-12-02 15:29:10
在开发android应用中 经常用到自定义控件 我 就将这段时间 我参与的项目中用到的自定义控件说一下 在百科专家中用到最多的就是 text描边 这是我参考的文章 http://labs.ywlx.net/?p=2739 http://labs.ywlx.net/?p=1260 我以前 也写了篇文章 讲述的时在surfaceview 中对字体的描边 不过后来仔细研究了下 不怎么合适 http://labs.ywlx.net/?p=2749 在百科专家中我 总结了以上文章自己写了个自定义的控件方便在项目中自由的调用 ,废话不多说 先看代码 在慢慢的讲解 布局文件 textviewtest. xml <RelativeLayout android:id=”@+id/item_2″ android:layout_width=”36dp” android:layout_height=”36dp” android:layout_marginTop=”10dp” android:layout_toLeftOf=”@id/textviewfen_c” > <TextView android:id=”@+id/item_2_1_c” android:layout_width=”36dp” android:layout_height=”wrap_content” android:layout

iOS 自定义控件兼容AutoLayout

只愿长相守 提交于 2019-12-01 05:24:34
练习做一个自定义控件。需要支持3种布局方式 Interface Builder initWithFrame init 加 AutoLayout 自定义控件是评分控件 StarSlider ,有五颗星星。 ##设计 在View中放下5个ImageView。每一个ImageView的间距是一样的,这需要知道View的Size。 如果通过initWithFrame初始化的话,马上就能知道size了。但是用AutoLayout后size在初始化的时候是不确定的。 layoutSubviews 方法调用的时候,size已经确定了,我在这个方法里面更新ImageView的位置。而且 layoutSubviews 也会在 initWithFrame 后触发。 效果图: Source Code 来源: oschina 链接: https://my.oschina.net/u/256571/blog/480251

Android 自定义属性用法详解

五迷三道 提交于 2019-11-30 16:25:39
最近项目中经常需要用到自定义控件,因此自定义属性也是经常要用到的,在此说明一下自定义属性的用法: 自定义属性都存在于/value/attr.xml文件中,以如下格式存在。 <resource> <declare-styleable name="自定义属性名称"> <attr name="属性名称" format="属性种类"/> ...... </declare-styleable> </resource> 对于自定义属性中的format的值及其含义如下: format属性值:reference 、color、boolean、 dimension、float、integer、string、fraction、enum、flag 1. reference:参考某一资源ID。 (1)属性定义: <declare-styleable name = "名称"> <attr name = "background" format = "reference" /> </declare-styleable> (2)属性使用: <ImageView android:layout_width = "42dip" android:layout_height = "42dip" android:background = "@drawable/图片ID" /> 2. color:颜色值。 (1)属性定义:

仿MIUI音量变化环形进度条实现

夙愿已清 提交于 2019-11-28 23:27:17
Android中使用环形进度条的业务场景其实蛮多的,比如下载文件的时候使用环形进度条,会给用户眼前一亮的感觉;再比如我大爱的MIUI系统,它的音量进度条就是使用环形进度条,尽显小米"为发烧而生"的宗旨。今天就为大家揭开那些高大上设计背后的故事,让我们也来实现如此酷炫的效果。 其实环形进度条只是一个稍稍复杂点的自定义控件,看过前段时间《Android自定义控件》系列的同学,理解起来会更加容易。还没看过的同学,出门右转,查看历史消息,再回头看今天的内容,会更加容易上手。 一、定义自定义属性 二、声明成员变量 注:对于自定义控件的理解,其实先看它的成员变量是最靠谱的,理解了成员变量就等于理解了这个控件要实现的功能和所实现的内在逻辑。比如昨天我们分享Launcher的那个自定义控件类只变量都100多行,不先静下心来去理解这些变量,你是不大可能懂得我实现的方法。不理解声明变量的意义就盲目去阅读源码往往得不偿失,切记。 三、获取自定义属性的值 四、逻辑实现:绘图,在onDraw中使用canvas绘制 五、布局使用 最后看下效果。 看到了吧,实现小米系统那个环形进度条就是这么的简单。只不过我们是在圆形中间绘制的是进度值,小米绘制的是音量图标,只须把canvas.drawText( text , x , y , paint ) 换成canvas.drawBitmap(bitmap, left,