暂无个人介绍
暂时未有相关通用技术能力~
阿里云技能认证
详细说明PullToRefresh是一套实现非常好的下拉刷新库(下载地址:https://github.com/chrisbanes/Android-PullToRefresh),它支持: 1.ListView 2.ExpandableListView 3.GridView 4.WebView 5.ScrollView 6.Horizontal ScrollView 7.ViewPager 等多种常用的需要刷新的View类型,而且使用起来也十分方便。
在自定义组件中,Paint类是一个很重要的类,主要包含颜色、文本、图形样式、位图模式、滤镜等几个方面。Paint类的相关方法如下: 1、颜色是指绘图时使用的颜色,在 Android 中颜色可以指定透明度,使用 16...
前面已经说过RecyclerView的使用,RecyclerView通过其高度的可定制性深受大家的青睐,也有非常多的使用者开始对它进行封装或者改造,从而满足越来越多的需求,相信用过的一定会爱不释手。
1、概述 Android 平台有一套完整的动画框架,在Android3.0之前有两种动画,一种方式是补间动画 Tween Animation、另一种叫逐帧动画 Frame Animation(也称Drawable Animation )。
Android本身自带的SQLite,大家一定都用过,然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等。
CoordinatorLayout作为“super-powered FrameLayout”基本实现两个功能: 1、作为顶层布局 2、调度协调子布局 CoordinatorLayout使用新的思路通过协调调度子布局的形式实现触摸影响布局的形式产生动画效果。
在版本回退里已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。
在版本回退里已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。
关于版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 在例子中,我们对文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制。
在上一节,我们已经简单说过StaggeredGridLayoutManager的使用,这一节给出个具体的例子,我们利用他做一个照片墙的功能,先看下效果 首先是Item的布局item_recycler_layout.
RecyclerView已经出现有一段时间了,但网上找了很久,并没有过多的介绍,还是鸿洋大神写的博客比较详细,我这里就按我的思路又加工了下。
上一节我们是通过重写自定义View的onTouchEvent方法来实现我们的图片放大缩小功能的,我们也发现现在app中,图片预览功能很常见的,用户基本已经形成条件反射,看到小图,点击看大图,看到大图两个手指开始进行放大,放大后,开始移动到指定部位,实际上,Android系统本身也是有手势检测这个类来帮助我们实现相关功能的。
上一节说了通过自定义来加载超大图片,同时实现手指的拖动效果。不过,另一种情况就是,我们希望应用能够加载整张图片,如果图片太大就先压缩,如果小于屏幕就直接显示,同时用户可以拖拽移动和缩放图片大小,梳理下流程: 1.自定义View继承ImageView,重新onDraw方法 2.在onDraw先画图片,图片大于屏幕就把图片缩小后显示,图片小于屏幕就直接显示,显示之前要计算显示图片的Rect,Rect是其实就是四个坐标,用来控制显示图片的范围,这个Rect是根据图片的长宽比例计算而来,显示在屏幕中间。
图片资源无外乎两种,一种是图片文件格式,一种是xml格式,在布局文件中引用当然没什么可说的,我们主要说下在代码中如何获得drawable资源 1、res/drawable目录下资源加载 使用R.
1、估计StateListDrawable是大家用的最多一个drawable了,所有的控件背景基本上都使用了StateListDrawable,以实现其在不同状态下显示不同的效果,例如按钮的按下、选中、默认、禁用等多种模式状态。
1、前两节我们已经说了8个Drawable了,本节继续,第一个,LayerDrawable,表示层图形对象。LayerDrawable用于管理一组drawable,每个drawable处于不同的层,当绘制时会按照顺序将其全部绘制到画布上。
继承上一节,这一节接着说四个子类 1、GradientDrawable表示一个渐变区域,可以实现线性渐变、发散渐变、和平铺渐变。
Drawable资源是Android应用中使用最广泛的资源,它不仅可以使用各种格式的图片资源,也可以使用多种xml文件资源。
上一节(自定义初学5——自定义View显示图片)已经说了如何自定义View显示图片。做android时,加载图片是避免不了的,加载网络图片还需要异步加载,最烦人的就是经常出现OOM,为了避免这样的问题,我们一般这样解决: 根据图片控件的大小对图片进行压缩显示。
Android中的线性布局LinearLayout,只能横向或纵向排列子控件,而且横向排列时不能自动换行。实际上,通过扩展ViewGroup就能够实现控件自动的往右添加,如果当前行剩余空间不足,则自动添加到下一行,也就是所谓的流式布局,上代码 自定义CustomViewGroup.
平时开发时,系统提供的几个布局基本就能满足我们的需求了。如果系统提供的布局无法满足需求,我们可以扩展ViewGroup类来实现自定义布局控件。
前面已经简单介绍过一些自定义View的实现,现在再利用自定义View实现显示一张图片的功能 1、首先编写attrs.xml文件 ...
上一节已经说了自定义属性的用法,实现步骤有如下几步: 自定义一个CustomView(extends View )类 编写values/attrs.
前面只是简单说了自定义View,接下来我们再来个增强版——自定义View的属性 1、自定义View的属性,首先在res/values/ 下建立一个attrs.xml , 在里面定义我们的属性。
Fragment是Android 3.0 引入的新API,他使开发的效率更加高效,在前面的例子我们也看到Fragment不止能解决Android Pad屏幕比较大,空间不能充分利用的问题,即使只是在手机上,也有很多的场景可以运用到Fragment,我们可能会注意到很多手机应用都会有一个非常类似的功能——即屏幕的下方显示一行Tab标签选项,点击不同的标签就可以切换到不同的界面,例如微信、QQ、支付宝等。
本节再说一个Activity和Fragment之间通信的例子,系统有以下功能:在主activity下方有三个按钮,分别是send、record、common msg。
在上一篇中,我们注意到自定义View中有个onTouchEvent()方法,看名字就知道是干什么的了。通常我们处理触屏事件会用TouchListener和Event Handler完成。
倘若我们需要的功能找不到对应的系统控件了,这时我们就只能自己绘制了。首先定义一个继承View的基类,然后重写View类的一个或多个方法。
在Android中自定义控件时,如果Android系统中已存在对应的控件,就应该扩展功能相近的系统控件,这样既可以减少工作量,又可以避免处理复杂的绘图逻辑。
Fragment都是依附于Activity的,通信方式大致也分为如下几种: 如果Activity中包含自己管理的Fragment的引用,可以通过直接引用访问所有的Fragment的public方法 如果Activity中未保存任何Fragment的引用,那么可以通过 getFragmentManager.findFragmentByTag()或者findFragmentById()获得任何Fragment实 例,然后进行操作。
Fragment的常用功能 通过getFragmentManager()方法,可以得到FragmentManager对象,主要完成下面的功能 (1).
Fragment常用的三个类: android.app.Fragment 主要用于定义Fragment android.app.
在Android的应用中通常都有setting功能,能够设置一些全局的选项,例如字体颜色,个人喜好等等。这些东西都存在一个xml中,在android中对应的对象就是SharedPreferences。
本节介绍一个ListFragment的例子,MainActivity左边显示一个ListFragment,右边是一个FrameLayout容器,该FrameLayout容器将会动态更新其中的Fragment Ma...
承接上一节,本节说一下Fragment的子类,继承关系如下图 Fragment有四个子类,就按顺序来吧,因为篇幅太长,我就一篇说一个 DialogFragment,顾名思义,就是用Fragment方式实现Dialog的效果,使用DialogFragment至少需要实现onCreateView或者onCreateDialog方法。
一般创建Fragment需要实现如下三个方法。 onCreate():系统创建Fragment对象后回调该方法,实现代码中只初始化Fragment中的组件。
Fragment是Android 3.0 引入的新API。Fragment代表了Activity的子模块,因此可以理解为Activity的片段。
利用Dialog,PopupWindow都可以实现对话框的功能。 Dialog实现比较方便,可以用系统自带的样式,也可以自定义一下,但是它显示位置比较固定,有时不能满足我们的需求。
做Android开发时经常会修改系统默认的主题样式,在android的sdk 安装目录data\res\values\themes.
做Android开发时,经常遇到退出应用就会提示应用停止运行,很明显这是有bug,查阅了网上的相关资料,发现finish()、System.
我们在进行Android开发时,一般都习惯用真机进行调试,但数据线经常插拔不仅不方便,而且容易造成插口损坏,我就换了好几根线了。