android
pan_blog
兴趣是最好的老师.
展开
-
Android系统字体大小如何影响app的字体大小?
在Android应用开发过程中,一定会碰到本来完美的布局,在系统字体大小设置【最大】时变成一团浆糊。解决办法网上也有很多,但是分析原理的却几乎没看到。博主在碰到问题的第一时间也是直接用了网上的方法,即在BaseActivity中重写getResources方法如下@Override public Resources getResources() { Resources res =转载 2017-12-01 16:29:54 · 1032 阅读 · 0 评论 -
Activity隐式启动
action的匹配规则action在Intent-filter中可以设置多条intent中的action和intent-filter中的action必须完全一样时(包括大小写)才算匹配成功intent中的action只要与intent-filter其中的一条匹配成功即可intent中必须指定action否则匹配失败且intent中action最多只有一条<activity an...原创 2019-12-14 20:45:02 · 275 阅读 · 0 评论 -
Activity的启动模式
standard标准模式,这是系统的默认模式每次启动一个Activity都会重新创建一个新的实例,不管这个实例是否存在在这种模式下,谁启动了这个Activity那么这个Activity就运行在启动它的那个Activity所在的栈中需要注意:当我们使用ApplicationContext去启动standard模式的Activity的时候会报错。因为standard模式的Activity默...原创 2019-12-14 16:57:47 · 276 阅读 · 0 评论 -
View事件分发机制
View的Touch事件传递dispatchTouchEvent用来进行事件的分发。如果事件能够传递给当前View,那么此方法一定会被调用,返回结果受当前View的onTouchEvent和下级的dispatchTouchEvent方法的影响,表示是否消耗当前事件。onInterceptTouchEvent用来判断是否拦截某个事件,如果当前View拦截了某个事件,那么在同一个事件序...原创 2019-11-07 22:39:54 · 220 阅读 · 0 评论 -
Android App启动优化
App启动方式冷启动:指APP在手机启动后第一次运行,或者APP进程被kill掉后在再次启动。温启动:App进程存在,当时Activity可能因为内存不足被回收。这时候启动App不需要重新创建进程,但是Activity的onCrate还是需要重新执行的。热启动:App进程存在,并且Activity对象仍然存在内存中没有被回收。可以重复避免对象初始化,布局解析绘制。查看启动时间com....原创 2019-11-06 17:18:18 · 292 阅读 · 0 评论 -
属性动画——实现购物车添加效果
public class MainActivity extends Activity { private ImageView top; private ImageView bottom; private ImageView animImageView; private ViewGroup anim_mask_layout;// 动画层 @Override原创 2017-03-22 20:26:09 · 1375 阅读 · 0 评论 -
自定义view——01.基础
自定义view实现方式类型定义自定义组合控件多个控件组合成为一个新的控件,方便多处复用继承系统View控件继承自TextView等系统控件,在系统控件的基础功能上进行扩展继承View不复用系统控件逻辑,继承View进行功能定义继承系统ViewGroup继承自LinearLayout等系统控件,在系统控件的基础功能上进行扩展继承ViewViewG...转载 2019-11-04 16:22:09 · 167 阅读 · 0 评论 -
自定义View——进度条
先看效果图 在这里先不考虑这个控件的实用性,主要是为了学习组合控件的方法。1.首先要做的是创建布局文件testtest.xmlLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"原创 2018-01-14 13:30:13 · 559 阅读 · 0 评论 -
懒加载Fragment
为什么要使用懒加载比如TabLayout+ViewPager这种模式,普通加载会请求所有页面的数据并绘制,这样对流量,性能都造成一定的浪费。使用懒加载可以优化加载网络数据的时机,做到在需要时加载,不需要时不加载。实现思路由于显示fragment的时候,存在viewpager的预加载机制,且左右相邻的fragment都会回调setUserVisibleHint这个方法,然后我们希望在进行加载数...原创 2019-11-04 11:15:44 · 169 阅读 · 0 评论 -
Bitmap
1. Bitmap详解Bitmap位图包括像素以及长、宽、颜色等描述信息。长宽和像素位数是用来描述图片的,可以通过这些信息计算出图片的像素占用内存的大小。位图可以理解为一个画架,把图放到上面然后可以对图片做一系列的处理。位图文件图像显示效果好,但是非压缩格式,需要占用较大的存储空间。Config表示图片像素类型ARGB_8888ARGB_4444RGB_565ALPHA_8...原创 2019-11-04 11:06:22 · 216 阅读 · 0 评论 -
MVP项目练习
写在前面 最近看到了好多朋友写的关于MVP架构详解,浅谈…对于看文章三分钟热度的我都没有看完…趁着周末有时间,写了个demo,针对MVP进行菜鸟级的解析(目的是简单了解和快速应用),下面聚精会神三分钟,看看你能不能有所收获.一.MVC和MVP这部分是必须要了解的,我这里也是使用了网上比较好的总结.1.MVCMVC的全称为Model-View-Controller,即模型-视图-控制器,提出原创 2017-02-19 23:48:58 · 741 阅读 · 0 评论 -
GreenDao的使用
1.特点:1.一个精简的库。 2.性能最大化,内存开销最小化。 3.对Android进行高度优化。 GreenDao3.0采用注解的方式来定义实体类,通过gradle插件生成响应的代码。2.GreenDao的配置:1.在项目根目录的build.gradle中添加classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'2.在app目录下的bu原创 2017-04-04 15:13:52 · 389 阅读 · 0 评论 -
Sevice详解
Service是什么服务是Android中实现程序后台运行的解决方案,他非常适合是去执行那些不需要和用户交互而且还要长期运行的任务。服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开了另一个应用程序,服务仍然能够保持独立运行。不过需要注意的是,服务并不是运行在一个独立的进程当中,而是依赖于创建服务时所在的应用程序进程。当某个应用程序被杀掉时,所有依赖该进程的服务也会停止运行。...原创 2019-11-04 08:16:33 · 1436 阅读 · 0 评论 -
android图片滤镜功能实现
float mHue = 0.0f; float mSaturation = 1f; float mLum = 1f; float MID_VALUE; Bitmap oriBitmap,newBitmap; MID_VALUE = barHue.getMax() * 1.0F / 2; oriBitmap = BitmapFactory....原创 2019-11-01 22:56:38 · 1001 阅读 · 0 评论 -
屏幕适配——02.smallestWidth 限定符适配
原文地址1.屏幕分辨率适配原理屏幕分辨率限定符适配需要在 res 文件夹下创建各种屏幕分辨率对应的 values-xxx 文件夹,然后根据一个基准分辨率,例如基准分辨率为 1280x720,将宽度分成 720 份,取值为 1px~720px,将高度分成 1280 份,取值为 1px~1280px,生成各种分辨率对应的 dimens.xml 文件。假设设计图上的一个控件的宽度为 720px,那...原创 2019-10-30 22:03:05 · 289 阅读 · 0 评论 -
屏幕适配——01.基本概念
屏幕尺寸屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米,比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等屏幕分辨率屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素横向像素,如1960* 1080。dpi(屏幕像素密度)屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dot per ...原创 2019-10-30 22:01:27 · 233 阅读 · 0 评论 -
CoordinatorLayout使用——layout_scrollFlags参数
layout_scrollFlags参数控制AppBarLayout中控件的行为scroll:Child View 伴随着scrollingView的滚动事件而滚出或滚进屏幕使用说明:当ScrollView将要向下滚动的时候,优先滚动的是自己,当自己滚动到顶部头的时候,再开始触发滚动AppBarLayoout中的childView;当ScrollView将要向上滚动的时候, 优先将A...原创 2019-10-30 21:58:43 · 1047 阅读 · 0 评论 -
安卓存储——内部存储,外部存储
1. 内部存储内部存储空间是和应用关联的,存储在内部存储中的文件只能被应用访问到。一个应用所创建的文件都在和应用包名相同的目录下,应用被卸载后这些文件也被删除。获取存储的方法获取内部存储的根路径:/dataEnvironment.getDataDirectory().getAbsolutePath()某个应用在内部存储中的files路径: /data/data/com.test.soc...转载 2019-10-30 21:39:38 · 678 阅读 · 0 评论 -
获取listview中每个条目editText输入的内容
1.需求:listview展示商品订单列表,每个订单可以添加留言信息。最后将所有订单留言信息和订单信息提交后台进行结算。 2.实现。// editText设置输入监听childViewHolder.mEtWord.addTextChangedListener(newTextSwitcher(childViewHolder));// 将每个position位置和edittext相关联child原创 2018-01-01 16:04:03 · 2185 阅读 · 0 评论 -
支付宝alipaySdk-20170922集成
支付宝支付很简单,但是新的sdk还是有些坑要去踩下才知道。1.省略一些步骤。下载最新sdk。2.调用本地支付方法 zfbPay();方法参数都是后台接口返回,具体参数如下:{ "code": 200, "data": { "acctId": "", "amount": "", "callback": "", //回调地址原创 2018-01-01 17:11:59 · 2353 阅读 · 0 评论 -
fragment + tabhost使用
总结下几种常见的搭建主页面方式,有普通导航栏,中间凸出导航栏1.fragment + tabhostactivity_main<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http原创 2018-01-04 16:27:00 · 287 阅读 · 0 评论 -
Android安全
对称加密(DES)1.应用场景 1.1 本地数据加密(例如加密android 里SharedPreferences 里面的某些敏感数据)1.2 网络传输:登录接口post 请求参数加密{username=lisi,pwd=oJYa4i9VASRoxVLh75wPCg==}1.3 加密用户登录结果信息并序列化到本地磁盘1.4 网页交互数据加密2.总结 DES 安全度在现代已经不够高原创 2018-01-17 15:40:56 · 235 阅读 · 0 评论 -
杀不死的服务
后台服务最近公司有个产品需求,就是要在android设备里面内置app,通过后台命令去控制该设备,并将设备信息定时上传服务端。杀不死的服务在开发做了几次修改,从开始的一天启动设备一条app就停止服务,到现在测试一个星期没有出现问题。show code守护进程&lt;service android:name=".GuardService"...原创 2018-08-02 19:30:01 · 1007 阅读 · 0 评论 -
Android Studio 从2.3.1升级到3.4.1遇到的问题
1.打包报错处理方式如下图,打开此文件,找到错误的文件,发现在我的布局文件里面使用了id,但是id没有定义所以出错了。2.配置打包apk名字出错AS 2.3.1 版本如下配置没有问题,但是3.4.1报错 buildTypes { release { minifyEnabled false proguardFiles ...原创 2019-05-21 10:32:28 · 1144 阅读 · 0 评论 -
使用ConstrainLayout进行复杂布局的绘制
关于基本使用在此就不讲了,放几个小案例直接看看怎么使用。需求三张图宽高比为1:1左边图片占总宽度的2份,右边占1份圆头像一半覆盖左边大图<androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/container" android:layout_width="mat...原创 2019-09-09 14:45:45 · 478 阅读 · 0 评论 -
eclipse老项目迁移到android stuido
今天遇到一个很棘手的问题:之前尝试过将eclipse项目导入stuido,也倒成功了,很简单,主要遇到的问题是.9图片的问题。今天遇到的问题就很郁闷了,项目导入成功了,各种报错也解决了,项目刚部署到手机上就崩溃掉,也看不到错误日志。其实报错的时候就觉得不太对劲,最后真的是预感对了。后来重新操作了下就成功了,倒了几个项目也成功了,就记录下。其实导入后还是有个问题没有解决,后面再说。项目导入 1原创 2017-05-15 23:39:48 · 337 阅读 · 0 评论