自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SnapHelper解析

简介SnapHelper是RecyclerView的辅助类,可用来控制在滑动结束后,RecyclerView中item的对齐方式。SnapHelper是一个抽象类,系统内置了两个默认实现类LinearSnapHelper:使当前Item居中显示,常用场景是横向的RecyclerView, 类似ViewPager效果,但是又可以快速滑动(滑动多页)PagerSnapHelper:PagerSnapHelper的展示效果和LineSnapHelper是一样的,只是PagerSnapHelper 限制一次只能滑动

2022-06-30 18:04:37 1116

原创 View/ViewGroup的绘制流程

View的绘制流程是从ViewRoot的performTraversals开始的,它经过measure,layout,draw三个过程最终将View绘制出来。performTraversals会依次调用performMeasure,performLayout,performDraw三个方法,他们会依次调用measure,layout,draw方法,然后又调用了onMeasure,onLayout,dispatchDrawmeasure:对于自定义的单一view的测量,只需要根据父 view 传递..

2020-12-21 13:30:04 570

原创 View的事件体系

View的事件体系View 的绘制流程:1.View 的工作流程主要是指 measure、layout、draw 这三大流程,即测量、布局和绘制,其中 measure 确定 View 的测量宽/高,layout 确定 View 的最终宽/高和四个顶点的位置,而 draw 则将 View绘制到屏幕上2.View 的绘制过程遵循如下几步:绘制背景background.draw(canvas)绘制自己(onDraw)绘制 children(dispatchDraw)绘制...

2020-12-16 14:58:02 211

原创 Activity详解

四大组件之Activity简述:用户可操作的可视化界面,为用户提供一个完成操作指令的窗口。一个Activity通常是一个单独的屏幕,Activity通过Intent来进行通信。Android中会维持一个Activity Stack,当一个新Activity创建时,它就会放到栈顶,这个Activity 就处于运行状态生命周期:onCreate()->onStart()->onResume()->onPause()->onStop()->o...

2020-12-16 14:22:40 1743

原创 Android消息机制及源码分析

Android消息机制Android 的消息机制主要是指Handler得运行机制1.以Handler的sendMessage方法为例,当发送一个消息后,会将此消息加入消息队列MessageQueue中。2.Looper负责去遍历消息队列并且将队列中的消息分发给对应的Handler进行处理。3.在Handler的handleMessage方法中处理该消息,这就完成了一个消息的发送和处理过程。参与消息处理有四个对象,它们分别是 Handler, Message, MessageQueue,Loo.

2020-12-16 13:44:39 120

原创 Binder是什么?

Binder是什么?从IPC角度来说定义:Binder是Android中的一种跨进程通信方式,该通信方式在linux中没有,是Android独有作用:在Android中实现跨进程通信从Android Driver层定义:Binder还可以理解为一种虚拟的物理设备,它的设备驱动是/dev/binder备注:驱动层位于Linux内核中,它提供了最底层的数据传递,对象标识,线程管理,调用过程控制等功能。驱动层是整个Binder机制的核心从Android Native层定义:Bind

2020-12-16 11:47:10 1157

原创 AndroidStudio创建implementation 依赖 配置

在Project的gradle下添加如下信息:buildscript { dependencies { ... classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' ... }在Moudle的library 的gradle 添加如下信息:apply plugin: 'c...

2019-08-27 16:53:01 1083 1

原创 SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 git push github失败

在github项目在本地的根目录下打开git命令行git config --global --unset http.proxy

2019-08-27 16:50:27 1105

原创 解决oppo、vivo手机从相册选择图片获取图片地址问题

打开相册 if (position == 0) {//打开相册 Intent intent = new Intent(); intent.addCategory(Intent.CATEGORY_OPENABLE); ...

2019-01-17 19:12:05 5248 2

原创 Android之跑马灯失焦停止问题

要TextView 实现跑马灯效果的话,我们只需要关注5个属性即可第一个是要单行显示第二个是单行显示多余部分如何显示,即 ellipsize 属性的设置第三个是获取焦点第四个是走马灯重复次数第五个是强制的获得了焦点,让 View 响应所有的 touch 事件<TextView android:padding="10dp" android:background=...

2019-01-02 10:07:30 2140

原创 flutter的导入包提示target of uri doesnt exist

dart 的sdk版本小在cmd下面升级flutter upgrade,成功.之后重新打开android studio.

2018-08-07 16:48:53 3096

原创 Android Studio 代码没有颜色区分

Android Studio打开之后文件代码没有颜色 输入没了提示解决方法: 点击File之后打开页面最下面有一个Power Sava Mode看看是不是打钩了如果打钩了取消重新编译就有了...

2018-07-23 16:56:48 6455

原创 git push代码的时候 出现 Push to origin/master was rejected 的错误提示

在git项目对应的目录位置打开Git Bash 然后在命令窗输入下面命令: git pull origin master --allow-unrelated-histories  最后出现完成信息,则操作成功!  再次Push代码,可以成功进行提交!...

2018-07-23 16:52:36 262

原创 解决调用系统相机android.os.FileUriExposedException:file:///storage/emulated/0/

在application的onCreate()调用StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();StrictMode.setVmPolicy(builder.build());builder.detectFileUriExposure()

2018-07-11 13:18:26 7223

原创 Android 实现人脸检测

添加权限 逻辑实现import android.Manifest;import android.annotation.SuppressLint;import android.app.Activity;import android.content.Context;import android.content.pm.PackageManager;import android.

2018-01-26 11:21:32 1948 1

原创 Material Design-FloatingActionButton和Snackbar

添加依赖 compile 'com.android.support:design:25.3.1'FloatingActionButton简介:FloatingActionButton从本质讲就是一个ImageView,从FloatingActionButton的继承来看,它首先继承了ImageButton,然后是ImageButton继承了ImageView。所以FloatingActionBu

2018-01-19 10:27:40 244

原创 Material Design-CardView实现卡片式效果

简介:Material Design中有一种很个性的设计概念:卡片式设计(Cards),Cards拥有自己独特的UI特征,在v7包中引进了一种全新的控件CardView,用来实现这种 Cards UI 的设计.CardView继承自FrameLayout,它是一个带圆角背景和阴影的FrameLayout.添加依赖compile 'com.android.support:cardview-v7:25

2018-01-19 09:56:03 1030

原创 Android多线程-Thread的理解和使用

一、Thread的定义线程,可以看作是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。1.1 Thread主要函数 1.run():线程运行时所执行的代码 2.start():启动线程 3.sleep()/sleep(long millis):线程休眠,进入阻塞状态,sleep方法不会释放锁 (其它线程不会进入synchronized方法体或方法块,不释放锁

2018-01-18 17:16:24 1337

原创 Activity管理栈工具类-ActivityManager

Activity 的四种启动模式和特点standard ( 标准模式 ) : 每次启动都会创建一个新的实例,并放入栈顶。(无法使用非 Activity 类的 Context 启动该模式的 Activity,如果启动需要加上 FlAG_ACTIVITY_NEW_TASK标记创建一个栈)。singleTop ( 栈顶复用模式 ) : 如果启动的 Activity 在栈顶,则该 Activity 不会重

2018-01-18 16:43:00 737

原创 EvenBus3.0的基本使用

简介:EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。优势:- 简单而强大:EventBus是一个非常容易学习的API的小型库。尽管如此,您的

2018-01-17 22:08:59 313

原创 MaterialDesign-沉浸式设计兼容封装

状态栏1. 5.0+ API5.0+自动实现了沉浸式效果,状态栏的颜色跟随你的主题里面的colorPrimaryDark属性。 (1)通过设置主题达到   @color/mytextcolor@color/colorPrimary_pink@color/colorPrimary_pinkDark@color/background -->#906292

2018-01-14 17:53:31 294

原创 Materialdesign-recyclerview简单封装

添加依赖compile ‘com.android.support:recyclerview-v7:23.2.1’ adapter封装import java.util.List;import android.support.v7.widget.RecyclerView;import android.view.View;import android.view.View.

2018-01-13 22:07:07 213

原创 RxJava操作符详解-变换操作符

1. 作用对事件序列中的事件 / 整个事件序列 进行加工处理(即变换),使得其转变成不同的事件 / 整个事件序列2. 类型RxJava中常见的变换操作符: Map()、FlatMap、ConcatMap()、Buffer()3. 应用场景 & 对应操作符 介绍注:在使用RxJava 2操作符前,记得在项目的Gradle中添加依赖:

2018-01-13 11:56:15 241

原创 MaterialDesign控制项目全局样式

MaterialDesign是从Android5.0开始引入的,是一种全新的设计语言(翻译为“原材料设计”),其实是谷歌提倡的一种设计风格、理念、原则。拟物设计和扁平化设计一种结合体验。还吸取了最新一些科技理念,我们可以参与原型设计、辅助美工原型设计的素材准备。开发实现MD的设计----界面、动画、转场动画等等。定义自己的全局样式: <!--

2018-01-08 10:52:07 667

原创 RxJava操作符详解-创建操作符

1. 作用创建 被观察者( Observable) 对象 & 发送事件。2. 类型创建操作符分类基本创建: create()快速创建&发送事件: just()、formArray()、fromIterable()、never()、empty()、error()延迟创建: defer()、timer()、interval()、intervalRan

2018-01-08 10:25:00 260

原创 自定义封装SpannableString工具类

工具类采用了建造者模式,可以用链式调用说明:getBuilder : 获取建造者setFlag : 设置标识setForegroundColor: 设置前景色setBackgroundColor: 设置背景色setQuoteColor : 设置引用线的颜色setLeadingMargin : 设置缩进setBullet :

2018-01-08 09:35:29 979

原创 Android 5.0以下出现 java.lang.NoClassDefFoundError:

解决方法:一、配置build.gradle (app)android { compileSdkVersion 23 buildToolsVersion "24.0.1"defaultConfig { minSdkVersion 15 targetSdkVersion 22 // Enabling multidex support. 开关

2017-08-17 16:26:12 349

原创 Android6.0 权限申请无法开启悬浮窗权限,无权限开启悬浮窗解决方案

在AndroidManifest.xml中添加悬浮窗的权限 <!--悬浮窗--> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

2017-04-01 12:03:10 3560

原创 java.lang.UnsatisfiedLinkError 解决方法

错误日志java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader[DexPathList[[dex file “/data/data/com.xiaoyigou.xiaoyigou/files/instant-run/dex/slice-support

2017-04-01 09:38:55 1193

原创 android4.3以下的Android版本 字符串转JsonArray出错

错误信息:Android NoSuchMethodError org.json.JSONArray.原因: 这个是API 19之后更新出来的 所以4.3及以下版本都会出现这个错误解决方法:使用第三方的json包进行转换。

2017-03-18 12:02:35 598

原创 使用Dialog自定义点击图片查看图片大图

布局<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content">

2017-02-16 15:34:15 3545

原创 Spinner 设置默认值

在使用这个方法的时候必须对数组进行排序Arrays.sort(数组); //使用java的默认排序方法spinner.setSelection(Arrays.binarySearch(数组, 要设置的默认值), true);

2016-12-22 14:47:42 1642

原创 NavigationView 实现侧滑菜单 改变菜单颜色的属性

app:itemIconTint="@color/white"

2016-11-24 17:13:35 926

原创 adb无法运行项目到手机 无法安装应用

异常 DELETE_FAILED_INTERNAL_ERRORError while Installing APK解决方法: 被手机的安全管家拦截了,安全管家里面有个usb安装管理,拒绝列表,把这个功能给关了

2016-11-24 16:26:48 1128

原创 FloatMath.sqrt 方法找不到 不支持 解决办法

FloatMath.sqrt()Error:(95, 30) 错误: 找不到符号符号: 方法 sqrt(float)位置: 类 FloatMath解决办法:改为 (float)Math.sqrt()

2016-11-24 15:16:03 18872 4

原创 Activity横竖屏设置

Activity全屏设置 方式1:AndroidManifest.xml<activity Android:name="myAcitivty" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />方式2:代码实现requestWindowFeature(Window.FEATURE_NO_TITLE); // 隐藏标

2016-11-18 17:14:22 1074

原创 Android横竖屏切换

private boolean mIsVideoSizeKnown = false; private int mVideoWidth; private int mVideoHeight; private int mSurfaceViewWidth; private int mSurfaceViewHeight; public void onVideoSizeC

2016-11-18 15:41:42 274

原创 androidstudio adb 端口号 被占用

异常如下: Unable to create Debug Bridge: Unable to start adb server: error: could not install smartsocket listener: cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)could not read ok fr

2016-11-18 15:37:46 1246

原创 AndroidStudio运行编译是PNG格式图片不通过

在gradle文件里面添加如下配置 aaptOptions.cruncherEnabled = falseaaptOptions.useNewCruncher = false

2016-11-09 09:54:49 1651

原创 多功能弹框

import Android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListen

2016-11-04 10:01:45 275

空空如也

空空如也

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

TA关注的人

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