自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码神器

生活贡献给代码

  • 博客(88)
  • 收藏
  • 关注

原创 Android 读取pdf文件,Webview进行展示

今天公司要求做这么一个需求,研究半天,最后才搞定https://github.com/wangyiwy/PDF_Preview感谢老铁的demo

2019-04-26 17:42:03 918

原创 事件冲突

冲突解决实战子控件部分接管型 场景:SwipeRefreshLayout --> ScrollView --> ViewPager,这种布局场景很常见,多见于应用的首页,如美团。 分析冲突点:ScrollView的上下滑动与ViewPager的左右滑动原本是不冲突的,但是加入了SwipeRefreshLayout之后,事件场景就变得复杂。当滑动ViewPager的时...

2019-04-02 16:24:45 321

转载 面试6---优化方面

快:使用时避免出现卡顿,响应速度快,减少用户等待的时间,满足用户期望。稳:减低 crash 率和 ANR 率,不要在用户使用过程中崩溃和无响应。省:节省流量和耗电,减少用户使用成本,避免使用时导致手机发烫。小:安装包小可以降低用户的安装成本。主要优化方面从上面几点入手1.卡顿ui 就是布局优化减少层级。合理使用 RelativeLayout 和 LinerLayo...

2019-04-02 16:17:43 365

原创 面试6--图片压缩

质量压缩法、比例压缩法(根据路径获取图片并压缩)和采样率压缩。1。 保持像素的前提下改变图片的位深及透明度,(即:通过算法抠掉(同化)了图片中的一些某个些点附近相近的像素),达到降低质量压缩文件大小的目的。它其实只能实现对file的影响,对加载这个图片出来的bitmap内存是无法节省的,还是那么大。因为bitmap在内存中的大小是按照像素计算的,也就是width*height,对于质量压...

2019-04-02 16:05:51 232

原创 面试5----优化方面

内存泄露:程序在向系统申请分配内存空间后(new),在使用完毕后未释放。内存溢出:程序向系统申请的内存空间超出了系统能给的。全局进程(process-global)的static变量。这个无视应用的状态,持有Activity的强引用的怪物。 活在Activity生命周期之外的线程。没有清空对Activity的强引用。 Static Activities Static Views...

2019-04-02 16:01:13 162

原创 面试4---MVP mvc

modle: 包括对数据的获取,处理方法view: 对view的显示进行控制controller: 控制器,负责连接view和modleactivity也负责了一部分view的职责.一部分molde的职责,使得activity十分冗余View:负责绘制UI元素、与用户进行交互(在Android中体现为Activity);View interface:需要View实现的接口,V...

2019-04-02 15:57:16 154

原创 面试总结3---多线程

线程分为主线程和工作线程例如网络请求等, 就会阻塞UI线程, 导致系统报ANR(Application Not Response)错误. 因此对于耗时操作需要创建工作线程来执行而不能直接在UI线程中执行.这样就需要在应用中使用多线程,线程交互 - Handler机制Java里面线程池的顶级接口是 Executor,不过真正的线程池接口是 ExecutorService, Execu...

2019-04-02 15:52:44 113

原创 面试题DAY3--recycleview 滑动卡顿

1.recyclerview的item加载顺序recyclerview的使用大家肯定不陌生了,但是每个item的加载顺序还是有必要了解一下的,知道item显示出来的流程。getItemViewType(获取显示类型,返回值可在onCreateViewHolder中拿到,以决定加载哪种ViewHolder)onCreateViewHolder(加载ViewHolder的布局)onVi...

2019-03-27 20:07:31 323

原创 面试题DAY2----eventbus原理

遇到eventbus面试涉及到的源码在讲解源码之前,先说一下EventBus需要关注的点 - EventBus支持的四种线程模式(ThreadMode):示例:@Subscribe(threadMode = ThreadMode.POSTING) public void eventBus(MyEvent myEvent) { Toast.makeTe...

2019-03-27 19:58:24 5385

转载 面试题Day1----自定义view

这几天面试碰到最多的就是自定义的控件其中就有自定义View自己也学习了解一下:##一,自定义View的分类-1.继承View或者ViewGroup类,重写onDraw方法,调用invalidate方法重新绘制View(譬如说计数器)-2.自定义组合控件,即将几种控件组合起来形成一个新的控件,这个新的组合控件就会整合了原来每一个控件的功能(譬如说新浪微博中ListView第一行上面的状态...

2019-03-27 19:33:24 368

原创 Android 扫描二维码 以及优化方面相关知识

优化zxing 扫描二维码出现卡顿 扫描慢等现象;解决方案 :解决办法很简单,就是不仅仅使用聚焦框里的图像数据,而是采用全幅图像的数据。public PlanarYUVLuminanceSource buildLuminanceSource(byte[] data, int width, int height) {    // 直接返回整幅图像的数据,而不计算聚焦框大小。    ...

2019-02-26 14:40:42 1435

原创 TabLayout 选择标题改变颜色及大小

项目需要,找了很多资料终于出来了布局<android.support.design.widget.TabLayout android:id="@+id/tl_balance" android:layout_width="match_parent" android:layout_height="@dimen/dp71" app:paddingEnd="...

2019-02-26 09:54:47 1715

原创 2019年新一年目标

2018年感觉浑噩的一年,年终之后感觉自己的收获不是很多,所以给自己确立了一下2019年的目标,希望新的一年有所收获新一年计划阅读2本以上的技术相关书籍,并作出相应的实践;阅读5本以上国内外有意思的书籍; 阅读jdk常用类的源码,能够理解其中的涵义;能够熟练掌握3个常用的技术框架;继续坚持每天一万步,一年中最少要达到250天;每月至少一次户外运动;每天睡眠时间不低于7小...

2019-01-15 11:12:12 1004

原创 Android Studio 在连接git 时 输入密码错误,再次连接

控制面板  --> 用户账户  -->   管理Window凭据  -->  普通凭据 有git内容  点击修改即可

2018-09-05 16:20:58 3304 1

原创 更改tab 的标题文字类型

<android.support.design.widget.TabLayout android:id="@+id/tl_screening" android:layout_width="420dp" android:layout_height="70dp" android:layout_centerInParent="true" app:tabBa...

2018-07-31 17:27:40 1302

原创 二维码面试

android 整理  优化zxing 扫描二维码出现卡顿 扫描慢等现象;主要在几个方面解决这个问题1.  扫描精度问题 PlanarYUVLuminanceSource2.  二维码图像识别精度探究  小1  图像/像素编码格式                小2  二维码图像识别算法选择3.  图像大小对识别精度的影响4.  相机预览倍数设置及聚焦时间调整1. 解决方...

2018-07-31 16:00:00 726

原创 android 类似于头像的圆形图片 基于 ImageView

public class CircleImageView extends android.support.v7.widget.AppCompatImageView { private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP; private static final Bitmap.Config BITMA...

2018-06-08 16:56:18 224

原创 android recycleview中嵌套gridview或recycleview 适配器

import android.app.Activity;import android.content.Context;import android.content.Intent;import android.support.v7.app.AlertDialog;import android.support.v7.widget.RecyclerView;import android.v...

2018-06-07 17:28:31 2956

原创 android 简单的点击图片放大展示

import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.os.PersistableBundle;import android.support.annotation.Nullable;import android.support.v4.view.PagerA...

2018-06-07 09:10:25 8953

原创 上传图片 以String 类型

//图片选择器private void matisse() { Matisse.from(BasicDataActivity.this) .choose(MimeType.allOf()) .countable(true) .capture(true) .captureStrategy( ...

2018-05-25 14:30:40 1203

原创 图片上传 以文件的形式上传

//图片选择器private void matisse() { Matisse.from(AddCarActivity.this) .choose(MimeType.allOf()) .countable(true) .capture(true) .captureStrategy( ...

2018-05-25 14:28:09 2936

原创 开关按钮实现 android

package ch.ielse.view;import android.annotation.TargetApi;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;impor...

2018-05-18 15:40:04 1245

原创 加载更多控件

<in.srain.cube.views.ptr.PtrClassicFrameLayout xmlns:cube_ptr="http://schemas.android.com/apk/res-auto" android:id="@+id/ptr_frame" android:layout_width="match_parent" android:layout_he...

2018-05-16 18:31:10 540

原创 上拉刷新的问题

在使用上拉刷新的时候,list.clear时  如果没有实例化list  可能会出现空指针异常

2018-05-16 17:34:28 187

原创 一条线的折线图实现 android

package com.stategrid.echarge.wedgit.chart;import android.content.Context;import android.graphics.Canvas;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.Recy...

2018-05-14 18:07:22 1059

原创 DialogUtils 弹框的工具类

package com.mylibrary.utils;import android.app.Dialog;import android.content.Context;import android.graphics.drawable.ColorDrawable;import android.support.v4.content.ContextCompat;import android

2018-05-02 14:29:28 1693

原创 android 截屏分享

package com.mylibrary.utils;import android.content.Context;import android.database.ContentObserver;import android.database.Cursor;import android.graphics.BitmapFactory;import android.graphics.Po

2018-04-23 17:00:29 224

原创 点击两次退出应用

//两次点击返回退出程序@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { boolean isExit = true; if(checkFragment== INDEX_CHARGE_FRAGMENT){ //充电fragment isExit = ChargeFragment.on...

2018-03-22 16:12:08 355

原创 Android——自定义拦截器实现OKHttp网络请求--电商项目页面

示例图:一、技术选型:1. 项目框架:MVP;注意:避免内存泄漏;2. 图片加载: Universal-Image-Loader或Glide图片加载框架3.网络加载框架:OkHttp4. 自定义应用拦截器,封装公共请求参数(注意:必须通过拦截器封装公共请求参数,否则无法请求数据)公共请求参数,在我们项目研发过程中,作用非常大。封装公共请求承参数之后,那么所有的接口都会默认携带这些公共参数,达到复用...

2018-03-15 16:12:54 361

转载 Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签

转载请注明出处:http://blog.csdn.net/xiaanming/article/details/10766053之前用JakeWharton的开源框架ActionBarSherlock和ViewPager实现了对网易新闻客户端Tab标签的功能,ActionBarSherlock是在3.0以下的机器支持ActionBar的功能,有兴趣的可以看看开源框架ActionBarSherlock...

2018-03-15 16:10:55 361

转载 手把手教你实现Android RecyclerView上拉加载功能

摘要一直在用到RecyclerView时都会微微一颤,因为一直都没去了解怎么实现上拉加载,受够了每次去Github找开源引入,因为感觉就为了一个上拉加载功能而去引入一大堆你不知道有多少BUG的代码,不仅增加了项目的冗余程度,而且出现BUG的时候,你却发现很难去改,正因为这样,我就下定决心去了解如何来实现RecyclerView的上拉加载功能,相信大家和我有过同样的情况,但是我相信,只要你给自己几分...

2018-03-15 16:10:28 1357

原创 注册布局

<LinearLayout android:layout_width="match_parent" android:layout_height="80px" android:layout_marginLeft="72px" android:layout_marginRight="72px" android:layout_marginTop="168px...

2018-03-15 16:07:18 224

原创 注册界面

import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.LinearLayout;import android.widget.RelativeLayout;import android.widget.TextView;import andr...

2018-03-15 16:05:02 449

原创 tablayout 和viewpager的绑定

chargerContainerAdapter = new ChargerContainerAdapter(getSupportFragmentManager(), this);chargerContainerAdapter.setChargerId(currStationId);containerVpMarker.setAdapter(chargerContainerAdapter);co...

2018-03-15 14:23:57 507

原创 来解决魅族和小米手机不能直接开启悬浮框的BUG

public class CustomDialog extends Dialog { public CustomDialog(Context context, int theme) { super(context, theme); } public CustomDialog(Context context) { super(context)...

2018-03-10 16:51:05 419

原创 阻止重复吐司并可控制位置

public class ToastUtil { private static String oldMsg; protected static Toast toast = null; private static long oneTime = 0; private static long twoTime = 0; public static void sh...

2018-03-09 16:56:32 128

原创 Activity跳转到Fragment实现

在想要跳转的那个activity中写private voidswitchFragment(Fragment f) { FragmentManager fragmentM = getSupportFragmentManager();//管理对象 FragmentTransaction trans = fragmentM.beginTransaction();//切换碎片

2018-01-08 11:21:59 392

转载 对话框之AlertDialog、DatePickerDialog(日期选择对话框)、TimePickerDialog(时间选择)、ProgressDialog(进度)、PopupWindow

AlertDialog:(对话框是基于Activity的)1.概述:1)对话框分为两种,一种是简单的对话框,一种悬浮窗。 4.0之后,确定按钮在右边,而在2.3之前,是在左边,要注意。 2)AlertDialog生成的对话框可分为4个区域: 图标区 标题区 内容区 按钮区2.使用方法:步骤: 1)建立builder,并set其图片

2018-01-05 21:00:22 1173 1

原创 视图阻尼效果,叠层

涉及到的知识点 CollapsingToolbarLayoutCoordinatorLayoutAppBarLayoutbehaviorParallax  https://github.com/xiaoyanger0825/Parallaxhttps://gtub.com/githubwing/DragPhotoView https://www.

2018-01-05 15:11:01 472

转载 TabLayout用法,android顶部导航栏,android底部导航栏

TabLayout是android.support.design里的一个控件,使用它可以很方便的做出顶部导航和底部导航。类似于这样的,能设置选中时字体的颜色和选中时的图片。首先我们引入compile 'com.android.support:design:23.1.1'它的用法是:第一种比较简单,就是文本和一个指示器。布局文件是[html] view

2018-01-04 10:27:09 342

空空如也

空空如也

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

TA关注的人

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