- 博客(88)
- 收藏
- 关注
原创 Android 读取pdf文件,Webview进行展示
今天公司要求做这么一个需求,研究半天,最后才搞定https://github.com/wangyiwy/PDF_Preview感谢老铁的demo
2019-04-26 17:42:03
987
原创 事件冲突
冲突解决实战子控件部分接管型 场景:SwipeRefreshLayout --> ScrollView --> ViewPager,这种布局场景很常见,多见于应用的首页,如美团。 分析冲突点:ScrollView的上下滑动与ViewPager的左右滑动原本是不冲突的,但是加入了SwipeRefreshLayout之后,事件场景就变得复杂。当滑动ViewPager的时...
2019-04-02 16:24:45
354
转载 面试6---优化方面
快:使用时避免出现卡顿,响应速度快,减少用户等待的时间,满足用户期望。稳:减低 crash 率和 ANR 率,不要在用户使用过程中崩溃和无响应。省:节省流量和耗电,减少用户使用成本,避免使用时导致手机发烫。小:安装包小可以降低用户的安装成本。主要优化方面从上面几点入手1.卡顿ui 就是布局优化减少层级。合理使用 RelativeLayout 和 LinerLayo...
2019-04-02 16:17:43
433
原创 面试6--图片压缩
质量压缩法、比例压缩法(根据路径获取图片并压缩)和采样率压缩。1。 保持像素的前提下改变图片的位深及透明度,(即:通过算法抠掉(同化)了图片中的一些某个些点附近相近的像素),达到降低质量压缩文件大小的目的。它其实只能实现对file的影响,对加载这个图片出来的bitmap内存是无法节省的,还是那么大。因为bitmap在内存中的大小是按照像素计算的,也就是width*height,对于质量压...
2019-04-02 16:05:51
289
原创 面试5----优化方面
内存泄露:程序在向系统申请分配内存空间后(new),在使用完毕后未释放。内存溢出:程序向系统申请的内存空间超出了系统能给的。全局进程(process-global)的static变量。这个无视应用的状态,持有Activity的强引用的怪物。 活在Activity生命周期之外的线程。没有清空对Activity的强引用。 Static Activities Static Views...
2019-04-02 16:01:13
205
原创 面试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
188
原创 面试总结3---多线程
线程分为主线程和工作线程例如网络请求等, 就会阻塞UI线程, 导致系统报ANR(Application Not Response)错误. 因此对于耗时操作需要创建工作线程来执行而不能直接在UI线程中执行.这样就需要在应用中使用多线程,线程交互 - Handler机制Java里面线程池的顶级接口是 Executor,不过真正的线程池接口是 ExecutorService, Execu...
2019-04-02 15:52:44
144
原创 面试题DAY3--recycleview 滑动卡顿
1.recyclerview的item加载顺序recyclerview的使用大家肯定不陌生了,但是每个item的加载顺序还是有必要了解一下的,知道item显示出来的流程。getItemViewType(获取显示类型,返回值可在onCreateViewHolder中拿到,以决定加载哪种ViewHolder)onCreateViewHolder(加载ViewHolder的布局)onVi...
2019-03-27 20:07:31
364
原创 面试题DAY2----eventbus原理
遇到eventbus面试涉及到的源码在讲解源码之前,先说一下EventBus需要关注的点 - EventBus支持的四种线程模式(ThreadMode):示例:@Subscribe(threadMode = ThreadMode.POSTING) public void eventBus(MyEvent myEvent) { Toast.makeTe...
2019-03-27 19:58:24
5499
转载 面试题Day1----自定义view
这几天面试碰到最多的就是自定义的控件其中就有自定义View自己也学习了解一下:##一,自定义View的分类-1.继承View或者ViewGroup类,重写onDraw方法,调用invalidate方法重新绘制View(譬如说计数器)-2.自定义组合控件,即将几种控件组合起来形成一个新的控件,这个新的组合控件就会整合了原来每一个控件的功能(譬如说新浪微博中ListView第一行上面的状态...
2019-03-27 19:33:24
389
原创 Android 扫描二维码 以及优化方面相关知识
优化zxing 扫描二维码出现卡顿 扫描慢等现象;解决方案 :解决办法很简单,就是不仅仅使用聚焦框里的图像数据,而是采用全幅图像的数据。public PlanarYUVLuminanceSource buildLuminanceSource(byte[] data, int width, int height) { // 直接返回整幅图像的数据,而不计算聚焦框大小。 ...
2019-02-26 14:40:42
1710
原创 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
1769
原创 2019年新一年目标
2018年感觉浑噩的一年,年终之后感觉自己的收获不是很多,所以给自己确立了一下2019年的目标,希望新的一年有所收获新一年计划阅读2本以上的技术相关书籍,并作出相应的实践;阅读5本以上国内外有意思的书籍; 阅读jdk常用类的源码,能够理解其中的涵义;能够熟练掌握3个常用的技术框架;继续坚持每天一万步,一年中最少要达到250天;每月至少一次户外运动;每天睡眠时间不低于7小...
2019-01-15 11:12:12
1069
原创 Android Studio 在连接git 时 输入密码错误,再次连接
控制面板 --> 用户账户 --> 管理Window凭据 --> 普通凭据 有git内容 点击修改即可
2018-09-05 16:20:58
3407
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
1357
原创 二维码面试
android 整理 优化zxing 扫描二维码出现卡顿 扫描慢等现象;主要在几个方面解决这个问题1. 扫描精度问题 PlanarYUVLuminanceSource2. 二维码图像识别精度探究 小1 图像/像素编码格式 小2 二维码图像识别算法选择3. 图像大小对识别精度的影响4. 相机预览倍数设置及聚焦时间调整1. 解决方...
2018-07-31 16:00:00
869
原创 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
267
原创 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
3036
原创 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
9006
原创 上传图片 以String 类型
//图片选择器private void matisse() { Matisse.from(BasicDataActivity.this) .choose(MimeType.allOf()) .countable(true) .capture(true) .captureStrategy( ...
2018-05-25 14:30:40
1303
原创 图片上传 以文件的形式上传
//图片选择器private void matisse() { Matisse.from(AddCarActivity.this) .choose(MimeType.allOf()) .countable(true) .capture(true) .captureStrategy( ...
2018-05-25 14:28:09
3006
原创 开关按钮实现 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
1305
原创 加载更多控件
<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
582
原创 一条线的折线图实现 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
1080
原创 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
1767
原创 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
318
原创 点击两次退出应用
//两次点击返回退出程序@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
402
原创 Android——自定义拦截器实现OKHttp网络请求--电商项目页面
示例图:一、技术选型:1. 项目框架:MVP;注意:避免内存泄漏;2. 图片加载: Universal-Image-Loader或Glide图片加载框架3.网络加载框架:OkHttp4. 自定义应用拦截器,封装公共请求参数(注意:必须通过拦截器封装公共请求参数,否则无法请求数据)公共请求参数,在我们项目研发过程中,作用非常大。封装公共请求承参数之后,那么所有的接口都会默认携带这些公共参数,达到复用...
2018-03-15 16:12:54
403
转载 Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签
转载请注明出处:http://blog.youkuaiyun.com/xiaanming/article/details/10766053之前用JakeWharton的开源框架ActionBarSherlock和ViewPager实现了对网易新闻客户端Tab标签的功能,ActionBarSherlock是在3.0以下的机器支持ActionBar的功能,有兴趣的可以看看开源框架ActionBarSherlock...
2018-03-15 16:10:55
381
转载 手把手教你实现Android RecyclerView上拉加载功能
摘要一直在用到RecyclerView时都会微微一颤,因为一直都没去了解怎么实现上拉加载,受够了每次去Github找开源引入,因为感觉就为了一个上拉加载功能而去引入一大堆你不知道有多少BUG的代码,不仅增加了项目的冗余程度,而且出现BUG的时候,你却发现很难去改,正因为这样,我就下定决心去了解如何来实现RecyclerView的上拉加载功能,相信大家和我有过同样的情况,但是我相信,只要你给自己几分...
2018-03-15 16:10:28
1383
原创 注册布局
<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
258
原创 注册界面
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
483
原创 tablayout 和viewpager的绑定
chargerContainerAdapter = new ChargerContainerAdapter(getSupportFragmentManager(), this);chargerContainerAdapter.setChargerId(currStationId);containerVpMarker.setAdapter(chargerContainerAdapter);co...
2018-03-15 14:23:57
547
原创 来解决魅族和小米手机不能直接开启悬浮框的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
475
原创 阻止重复吐司并可控制位置
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
164
原创 Activity跳转到Fragment实现
在想要跳转的那个activity中写private voidswitchFragment(Fragment f) { FragmentManager fragmentM = getSupportFragmentManager();//管理对象 FragmentTransaction trans = fragmentM.beginTransaction();//切换碎片
2018-01-08 11:21:59
440
转载 对话框之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
1299
原创 视图阻尼效果,叠层
涉及到的知识点 CollapsingToolbarLayoutCoordinatorLayoutAppBarLayoutbehaviorParallax https://github.com/xiaoyanger0825/Parallaxhttps://gtub.com/githubwing/DragPhotoView https://www.
2018-01-05 15:11:01
503
转载 TabLayout用法,android顶部导航栏,android底部导航栏
TabLayout是android.support.design里的一个控件,使用它可以很方便的做出顶部导航和底部导航。类似于这样的,能设置选中时字体的颜色和选中时的图片。首先我们引入compile 'com.android.support:design:23.1.1'它的用法是:第一种比较简单,就是文本和一个指示器。布局文件是[html] view
2018-01-04 10:27:09
392
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人