自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 Android 动画

Android 动画分类总的来说,Android动画可以分为两类,最初的传统动画和Android3.0 之后出现的属性动画(Property Animation);传统动画又包括 帧动画(Frame Animation)和补间动画(Tweened Animation)。

2017-09-18 16:04:24 411

原创 Android自定义控件中获取文字宽高的方法已经drawText中的xy

宽度://1. 粗略计算文字宽度  Log.d(TAG, "measureText=" + paint.measureText(str));

2017-08-30 16:01:34 2054

转载 RecycleView4种定位滚动

概述相信大家在项目中使用RecyclerView时,经常会遇到这样的需求:将RecyclerView滑动到指定位置,或者检索RecyclerView的某一项(各个项的高度不确定),然后定位滚动这到一项,将它显示。下面就讲解4种RecyclerView定位滚动的方式及具体效果演示。scrollByrecyclerView.scrollBy(x, y)使用:recycl

2017-08-24 09:41:43 435

转载 Android四大组件:BroadcastReceiver

前言BroadcastReceiver(广播接收器),属于Android四大组件之一在Android开发中,BroadcastReceiver的应用场景非常多今天,我将详细讲解关于BroadcastReceiver的一切相关知识目录目录1. 定义广播,是一个全局的监听器,属于Android四大组件之一Android 广播分为两个角色:广播发送者、广播

2017-07-21 10:50:50 340

原创 Android Service

简介:1. 基础知识定义:服务,属于Android中的四大之一组件作用:提供需要在后台长期运行的服务(如复杂计算、下载等等)(运行在主线程需要耗时操作得启用子线程)特点:长生命周期的、没有用户界面、在后台运行2. 生命周期方法详解目录目录1. 生命周期常用方法在Service的生命周期里,常用的有:

2017-07-18 10:19:48 326

原创 ImageView的scaleType与adjustViewBounds属性

ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。设置的方式包括:在layout xml中定义android:scaleType="CENTER"或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);scaleType属性如下:andr

2017-07-17 14:30:37 571

原创 android 事件分发

1. 基础认知1.1 事件分发的对象是谁?答:事件当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件)。Touch事件相关细节(发生触摸的位置、时间、历史记录、手势动作等)被封装成MotionEvent对象主要发生的Touch事件有如下四种:MotionEvent.ACTION_DOWN:按下View(所有事件

2017-07-17 10:32:21 255

原创 TextView一些技巧

1.Android中如何让TextView显示指定的行数并且多出的部分显示省略号大家都知道,如果要让TextView只显示一行,多出部分用省略号代替的话非常容易,只需要为xml文件中的TextView控件添加Android:singleLine="true"即可,那么如果我想让它显示多行的时候应该怎么做呢?其实也很简单,只要添加以下两个属性就可以了:android:lines=

2017-07-03 11:51:37 616

原创 fragment 理解

Fragment概述

2017-06-27 10:58:43 487

原创 android 启动模式

在学习Android的过程中,Intent是我们最常用Android用于进程内或进程间通信的机制,其底层的通信是以Binder机制实现的,在物理层则是通过共享内存的方式实现的。    Intent主要用于2种情景下:(1)发起意图  (2)广播    它的属性有:ComponentName,action,data,category,extras,flags等,通常情况下,进行Inten

2017-06-19 14:37:23 233

原创 ==和equals的区别

==和equals的区别:1.==,可用于比较基本类型和引用类型,是运算符equals是类的方法,如果类为null可能会死掉,只能比较引用类型2.对于引用类型比较,如果不重新equals,就相当于==,==比较的是地址是否一致,即是否为同一个对象若重写了equals,比较的是对象内容是否一致。(String已经重写)eg:String s1,s2,s3 = "a

2017-06-19 10:58:54 1372

转载 List的contains()方法

应用环境:从数据库中查询出满足一系列条件的记录,然后以对象的形式封装到List中去。此时假设有两个条件A和B,满足A的记录集和为ListA,满足B的记录集合为ListB,现在要将ListA和ListB合并为一个List,注意ListA和ListB中可能有重复的记录(因为可能某条记录即满足条件A又满足条件B),要过滤掉重复的记录。方法过程:我们假设List中存放的对象都是Order对象,属性or

2017-06-19 10:34:56 2668

原创 java四舍五入

java中Math类中提供了三个与取整有关的方法:分别是ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应ceil的英文解释是天花板,该方法就表示向上取整,所以,Math.ceil(16.2)的结果为16,Math.ceil(-16.2)的结果是-16;floor的英文解释是地板,所以该方法就表示向下取整,那么Math.floor(16.6)的结果

2017-06-16 11:38:21 892

原创 java到底是值传递还是引用传递?

java中方法参数传递方式是按值传递。如果参数是基本类型,传递的是基本类型的字面量值的拷贝。如果参数是引用类型,传递的是对象引用的拷贝。

2017-06-14 11:45:56 315

原创 List

项目需求中遇到一个问题。需要将一个复杂的对象复制一个数据一样内存不一样的出来。Java中的复制貌似是除了数据类型之外,其他的都是传递对象内存地址。当你的这个对象中嵌套了list(T是一个class,不是数据类型)的时候,即便你用新的list去接收。但是list里面的数据对象的内存地址还是一样,当你对新的list进行操作的时候。其实操作的还是老的list中的数据对象,应为他们内存地址

2017-06-08 17:02:25 258

转载 万能适配器

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38902805 ,本文出自【张鸿洋的博客】1、概述相信做Android开发的写得最多的就是ListView,GridView的适配器吧,记得以前开发一同事开发项目,一个项目下来基本就一直在写ListView的Adapter都快吐了~~~对于Adapter一般都继承B

2017-06-07 11:47:35 306

原创 RecyclerView

那么有了ListView、GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。你想要控制其显示的方式,请通过布局管理器LayoutManager你想要控制Item

2017-06-07 10:57:20 494

原创 动态添加布局-LayoutParams

其实这个LayoutParams类是用于child view(子视图) 向 parent view(父视图)传达自己的意愿的一个东西(孩子想变成什么样向其父亲说明) 。LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户(要添加进去的Vi

2017-06-06 14:30:21 1013

原创 修改EditText的光标颜色

在使用EditText的XML 文件中加入一个属性:android:textCursorDrawable="@null"android:textCursorDrawable   这个属性是用来控制光标颜色的,"@null"   是作用是让光标颜色和text color一样如果需要自定义颜色,需要自定义一个drawable文件,例如:在drawable下窗

2017-06-02 09:19:20 34675

原创 onSaveInstanceState()

首先看一个步骤,如果是人为关闭Activity或者Fragment, 比如点击了后退键,主动关闭当前页面,就会走 onPause() --> onStop()  --> onDestroy()  而onSaveInstanceState() 并不会被调用. onSaveInstanceState() 只有在系统即将要自动清理销毁Activity或Fragment前才会调用, 比如 1, 由

2017-05-31 09:54:18 411

转载 图片圆角实现

此文章只是给自己看1.自定义EaseImageView自定义的ImageView,默认是矩形,支持设置ImageView形状、倒角大小等, 在xml和java文件中都可以设置示例:xml:com.hyphenate.easeui.widget.EaseImageView android:id="@+id/iv_userhead" android:

2017-05-10 15:36:46 822

转载 Android中Bitmap和Drawable

一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获

2017-05-09 17:51:03 155

转载 Android Canvas总结

0x00 前言在Android开发中,有时产品需求会要我们实现一个复杂的控件,如果控件不是常用的类型,这时候我们不得不写一个自定义的控件来实现。自定义一个控件,目前一般通过继承View或者SurfaceView来实现。View和SurfaceView的区别在于,View必须在UI的主线程中更新画面,而SurfaceView是在一个新起的单独线程中可以重新绘制画面。View使用CPU

2017-05-09 11:31:38 578

转载 Android中Canvas绘图之Shader使用图文详解

概述我们在用Android中的Canvas绘制各种图形时,可以通过Paint.setShader(shader)方法为画笔Paint设置shader,这样就可以绘制出多彩的图形。那么Shader是什么呢?做过GPU绘图的同学应该都知道这个词汇,Shader就是着色器的意思。我们可以这样理解,Canvas中的各种drawXXX方法定义了图形的形状,画笔中的Shader则定义了图形的着色、外观,二...

2017-05-09 11:25:50 457

转载 Android中Canvas绘图基础详解

Android中,如果我们想绘制复杂的自定义View或游戏,我们就需要熟悉绘图API。Android通过Canvas类暴露了很多drawXXX方法,我们可以通过这些方法绘制各种各样的图形。Canvas绘图有三个基本要素:Canvas、绘图坐标系以及Paint。Canvas是画布,我们通过Canvas的各种drawXXX方法将图形绘制到Canvas上面,在drawXXX方法中我们需要传入要绘制的图形

2017-05-09 11:13:44 564

转载 android canvas drawText()文字居中

最近也是在学习自定义控件,以前只自己随便玩了下,一直觉得比较难,正好现在工作轻松,每天闲着就看看书看看帖子学习自定义控件,你还别说自定义控件学起来还是蛮有趣的!!这里也跟大家分享下我关于drawText()文字居中的方法.先附上drawText()的方法说明说实话当时看了这个,我也没明白这个x,y坐标到底表达的啥意思,还一直以为是绘制文字中心的坐标,后来发现这个

2017-05-02 14:59:03 291

转载 Android中Canvas绘图之PorterDuffXfermode使用及工作原理详解

概述类Android.graphics.PorterDuffXfermode继承自android.graphics.Xfermode。在用Android中的Canvas进行绘图时,可以通过使用PorterDuffXfermode将所绘制的图形的像素与Canvas中对应位置的像素按照一定规则进行混合,形成新的像素值,从而更新Canvas中最终的像素颜色值,这样会创建很多有趣的效果。当使用Po

2017-03-28 16:38:54 313

转载 File操作

File类File类的概述文件和目录(文件夹)路径名的抽象表示形式构造方法File(String pathname):根据一个路径得到File对象File(String parent, String child):根据一个目录和一个子文件/目录得到File对象File(File parent, String child):根据一个父File对象和一个子文

2017-03-16 13:43:40 598

转载 Android 内外部存储,file存储

内部存储,我们称为InternalStorage,外部存储我们称为ExternalStorage首先我们打开DDMS,有一个File Explorer,如下:这里有三个文件夹需要我们重视,一个是data,一个是mnt,一个是storage,我们下面就详细说说这三个文件夹。1.内部存储data文件夹就是我们常说的内部存储,当我们打开data文件夹之后(

2017-03-16 10:43:23 706

转载 Android4.4 实现沉浸式状态栏

代码未行,效果先上Flyme4.2 Android4.4.4上运行效果如何实现在 KITKAT 之后,Android Window支持了一些新的属性,其中有两个是这样的 .WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUSWindowManager.LayoutParams.FLAG_TRANS

2017-03-15 17:30:44 342

原创 Android 去掉标题栏,状态栏,导航栏

一:标题栏 1继承Activity有效1.1requestWindowFeature(Window.FEATURE_NO_TITLE);   注意这句一定要写在setContentView()方法的前面,不然会报错的 1.2在manifest.xml中改Theme android:theme="@android:style/Theme.NoTitleBar" 2...

2017-03-15 11:34:35 3126

原创 Android assents

预前知识:Android资源文件分类:Android资源文件大致可以分为两种:第一种是res目录下存放的可编译的资源文件:    这种资源文件系统会在R.Java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可; 第二种是assets目录下存放的原生资源文件:      因为系统在编译的时候不会编译assets

2017-03-14 17:21:55 488

原创 Android发送邮件

1.使用org.apache.commons.mail 需要将mail.jar和commons-email.jar添加到我们的CLASSPATH中即可,如下图:SimpleEmail:发送简单的email,不能添加附件MultiPartEmail:文本邮件,可以添加多个附件HtmlEmail:HTML格式邮件,同时具有MultiPartEmail类所有“功能”Ema

2017-03-14 16:54:12 744

转载 1.三个参数的inflate方法

public View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) 参数1:布局id参数2:root父布局,可以协助生成根节点参数3:是否添加到父布局,如果为TRUE,就不需要addView(view); 1.1 root不为null,attachToRoo

2017-03-10 13:29:22 303

原创 .9图片

保存的时候扩展名一定要是“.9.png”其它要注意的地方1.四边那几条黑线代表什么启动这个draw9patch应用程序,该程序位于你的SDK /tools 目录下。 5、如果失误多选了部分,可按住shift键,点击鼠标左键去掉黑色条 去黑边:解压xUltimate-d9pc-x86.rar压缩包1.把预处理黑边的图片到目录exampl

2017-03-09 11:11:05 300

原创 Android 导入so文件

引入so文件:引入so文件也有两种方法,具体使用哪一种,看开发者自己如何选择了。方法一:   · 在“src/main”目录中新建名为“jniLibs”的目录;   · 将so文件复制、粘贴到“jniLibs”目录内。    注:如果没有引用so文件,可能会在程序执行的时候加载类库失败,有类似如下的DEBUG提示:    Java.lang.Unsatisf

2017-03-07 11:43:07 829

转载 JAVA中String字符串的各种基本操作

[java] view plain copy/*  String类适用于描述字符串事物。  那么它就提供了多个方法对字符串进行操作。    常用的方法如下:    1、获取:     1.1 字符串中包含的字符数,也就是字符串的长度。         int length():获取长度。     1.2 根据位置获取该位置上的某个

2017-03-07 09:43:24 487

原创 Android 自定义View

先总结下自定义View的步骤:1、自定义View的属性2、在View的构造方法中获得我们自定义的属性[ 3、重写onMesure ]4、重写onDraw我把3用[]标出了,所以说3不一定是必须的,当然了大部分情况下还是需要重写的。1、自定义View的属性,首先在res/values/  下建立一个attrs.xml , 在里面定义我们的属性和

2017-02-28 14:46:45 384

原创 fragment懒加载

1.先看生命周期主要看两张图,和跑代码一,Fragment的生命周           二,与Activity生命周期的对比     1. 当一个fragment被创建的时候,它会经历以下状态.onAttach()onCreate()onCreateView()onActivityCreated()2. 当这个fragme

2017-02-28 12:02:01 228

原创 Android 读取pdf

参考文章:http://blog.csdn.net/analyzesystem/article/details/51314323 总结http://www.cnblogs.com/zhaoyanjun/p/5033923.html最新的库,速度快,但是并不好用http://www.jianshu.com/p/1bf49af6584d 总结全面,但是无实例http://blog.

2017-02-27 17:32:12 720

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除