UI设计
huaxun66
这个作者很懒,什么都没留下…
展开
-
Android SurfaceView的使用
概述定义SurfaceView是View类的继承类,这个View里内嵌了一个专门用于绘制的Surface,这个可以类似的理解成为一个在View里的Canvas(实际上Surface中包含一个Canvas)。你可以控制这个Surface的格式和尺寸。Surfaceview类则控制这个Surface在屏幕上的正确位置。 SurfaceView使用的方式与任何View所派生的类都是完全相同的。可以像其他原创 2016-11-08 16:13:57 · 4552 阅读 · 0 评论 -
安卓动画之属性动画(Property Animation)
前面章节介绍的补间动画仅改变它作用的View的外观,但并没有改变对象的本身,而属性动画框架操作的是真实的属性值,直接变化了对象的属性,因此可以很灵活的实现各种效果,而不局限于以前的4种动画效果。1.ObjectAnimator java public void rotateyAnimRun(View view) { ObjectAnim原创 2016-08-07 18:07:31 · 838 阅读 · 0 评论 -
Android自定义属性
Android自定义View是程序猿从初级阶段进阶的必由之路,而自定义View必然会伴随自定义属性,本篇先来讲讲安卓自定义属性1、自定义View的属性,首先在res/values/ 下建立一个attrs.xml , 在里面定义我们的属性和声明我们的整个样式。原创 2016-08-15 20:42:01 · 2217 阅读 · 0 评论 -
Android Camera开发(一)之基础知识
概述Android手机关于Camera的使用,一是拍照,二是摄像,由于Android提供了强大的组件功能,为此对于在Android手机系统上进行Camera的开发,我们可以使用两类方法:一是借助Intent和MediaStore调用系统Camera App程序来实现拍照和摄像功能,二是根据Camera API自写Camera程序。基础知识Android系统提供API来支持自定义相机拍照和系统拍照,以原创 2016-11-09 09:47:44 · 16690 阅读 · 1 评论 -
Android Design Support Library
Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格的控件。最重要的是,Android Design Support Library的兼容性更广,直接可以向下兼容到Android 2.2。使用S原创 2016-10-18 15:28:06 · 1942 阅读 · 0 评论 -
SwipeRefreshLayout及其扩展使用
概述我们之前使用的比较多的下拉刷新、上拉加载框架有PullToRefreshListView,本文我们来说说SwipeRefreshLayout。SwipeRefreshLayout是Google官方更新的一个Widget,可以实现下拉刷新的效果。该控件继承自ViewGroup在support-v4兼容包下,不过我们需要升级supportlibrary的版本到19.1以上。官方SwipeRefres原创 2017-07-06 22:32:32 · 16579 阅读 · 0 评论 -
安卓动画之补间动画(Tween Animations)
Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)AlphaAnimationjava:Animation alphaAnimation = new AlphaAnimation(0.1f, 1.0f); alphaAnimation.setDuration(3000); this.startAnimation(alphaAnima原创 2016-08-04 14:29:14 · 765 阅读 · 0 评论 -
Android ViewPager用法解析
ViewPager简介ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view:ViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类。ViewPager类需要一个PagerAdapter适配器类给它提供数据。ViewPager经常和Fragment一起使用,并且提供了专门的FragmentPagerAdapt原创 2017-07-21 21:52:48 · 3088 阅读 · 0 评论 -
Android App Widget 开发
概述App Widget是应用程序窗口小部件(Widget),是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget Provider来发布一个Widget。Widget布局appwidget-provider标签这个东西是用来定义桌面widget的大小,初始状态等等信息的,它的位置应该放在res/xml文件夹下,具体的xml参数如下:a原创 2017-09-07 13:43:01 · 5513 阅读 · 0 评论 -
Android自定义View(一)
对于很多Android入门程序猿来说自定义View,都是比较恐惧的,但是这又是高手进阶的必经之路。先总结下自定义View的步骤: 1、自定义View的属性 2、在View的构造方法中获得我们自定义的属性 [ 3、重写onMesure ] 4、重写onDraw 我把3用[]标出了,所以说3不一定是必须的,当然了大部分情况下还是需要重写的。 其中第1,第2点在前面的文章已经有详细的介绍And原创 2016-08-19 16:14:50 · 1556 阅读 · 0 评论 -
安卓动画之帧动画(Frame Animations)
Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似资源文件存放在项目res/drawable目录下<!-- 根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画 根标签下,通过item标签对动画中的每一个图片进行声明 android:duration 表示展示所用的该图片的时间长度 --><anima原创 2016-08-04 15:28:41 · 1578 阅读 · 0 评论 -
Android LayoutInflater分析
相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。其实setContentView()方法的内部也是使用LayoutInflater来加载布局的。 先来看一下Layou原创 2016-08-18 23:23:49 · 1216 阅读 · 0 评论 -
Android Camera开发(二)之扩展知识
上一篇博客Android Camera开发(一)之基础知识已经把Camera开发的主要流程梳理了一遍,包括调用系统Camera和自定义自己的Camera,如果你还没有阅读,请移步至链接吧。本文主要是Camera开发的一些遗留问题,包括如何设置Camera的特性参数,让它更好的辅助相机拍照,以及对照片和视频的旋转处理。获取相机的特性参数一旦你成功访问相机设备,你可以使用camera.getParame原创 2016-11-10 09:57:03 · 2680 阅读 · 0 评论 -
Android RecyclerView 使用全解
自Android 5.0之后,Google推出了RecylerView控件,大家可以通过导入support-v7对其进行使用。根据官方介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们使用过很多了,例如:ListView、GridView。那么RecyclerView相对于ListView、GridView有什么优势呢? RecylerView是一个强大的滑动组件,与ListVie原创 2016-09-30 13:20:09 · 1891 阅读 · 0 评论 -
shape、selector和layer-list的使用
shape在Android中,很多时候系统原生的控件的格式并不能满足我们的需求,我们想要更加好看点的样式,像什么圆角矩形啊,颜色渐变啊,阴影效果啊等等的,这个时候就是我们的ShapeDrawable发挥效果的时候了。 首先,我们要在res/drawable/ 路径下创建一个xml文件, 其格式如下:<?xml version="1.0" encoding="utf-8"?><shape原创 2016-08-27 16:18:43 · 955 阅读 · 0 评论 -
Android .9.png “点九”图片的使用
“点九”图片概述 “点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png。 我们都知道android平台有多种不同的分辨率,很多控件的切图文件在被放大拉伸后,边角会模糊失真,而使用点九PNG技术,可以将图片横向和纵向同时进行拉伸,以实现在多分辨率下的完美显示效果。 而且使用*.9.png图片技术,只需要采用一套界面切图去适配不同的分辨率,大幅减少安装包原创 2016-08-25 17:08:51 · 1539 阅读 · 0 评论 -
Android自定义ViewGroup(三)之FlowLayout
本篇继续来讲自定义ViewGroup,给大家带来一个实例:FlowLayout。何为FlowLayout,就是控件根据ViewGroup的宽,自动的往右添加,如果当前行剩余空间不足,则自动添加到下一行,所以也叫流式布局。Android并没有提供流式布局,但是某些场合中,流式布局还是非常适合使用的,比如关键字标签,搜索热词列表等,比如下图: 定义FlowLayoutLayoutParams,onLa原创 2016-08-26 21:17:39 · 745 阅读 · 0 评论 -
Android自定义ViewGroup(二)之WaterfallLayout
上一篇我们学习了自定义ViewGroup的基本步骤,并做了一个CustomGridLayout的实例,这篇我们继续来说说自定义ViewGroup。 Android中当有大量照片需要展示的时候,我们可以用GridView作为照片墙,但是GridView太整齐了,有时候不规则也是一种美,瀑布流模型就是这样一个不规则的展示墙,接下来我们尝试用自定义ViewGroup来实现瀑布流。 实现瀑布流的方式也有原创 2016-08-24 21:09:11 · 935 阅读 · 0 评论 -
Android自定义ViewGroup(一)之CustomGridLayout
之前写了两篇关于自定义view的文章,本篇讲讲自定义ViewGroup的实现。我们知道ViewGroup就是View的容器类,我们经常用的LinearLayout,RelativeLayout等都是ViewGroup的子类。并且我们在写布局xml的时候,会告诉容器(凡是以layout为开头的属性,都是为用于告诉容器的),我们的宽度(layout_width)、高度(layout_height)、对齐原创 2016-08-23 22:27:42 · 2147 阅读 · 0 评论 -
Android自定义View(二)
如果说要按类型来划分的话,自定义View的实现方式大概可以分为三种,自绘控件、组合控件、以及继承控件。那么下面我们就来依次学习一下,每种方式分别是如何自定义View的。一. 自绘控件 自绘控件的意思就是,这个View上所展现的内容全部都是我们自己绘制出来的。绘制的代码是写在onDraw()方法中的。 我们来写一个经常会看到的音量调节View的例子,就是下面这种效果 1.自定义View的属性<?原创 2016-08-20 17:10:11 · 1207 阅读 · 0 评论 -
Android的Paint、Canvas和Matrix讲解
Paint类介绍 Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法,大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。1.图形绘制 setARGB(int a,int r,int g,int b); 设置绘制的颜色,a代表透明度,r,g,b代表颜色值。 setAlpha(int a);原创 2016-08-16 16:44:01 · 6415 阅读 · 1 评论 -
Android使用WindowManager实现悬浮窗
上一篇文章Framework学习(十一)WindowManager体系我们分析了WindowManager的用法及源码,这篇文章我们使用WindowManager实现一个简单的悬浮窗效果。类似与下面这种效果:项目目录项目目录结构很简单,一个MainActivity,一个WindowService。MainActivity只有两个按钮,用于启动和关闭WindowService。添加实现悬浮窗的逻辑全部原创 2017-10-27 17:09:31 · 3036 阅读 · 1 评论