
Android
文章平均质量分 54
Mr.Jonas
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 第三方库混淆proguard-rules,持续更新
Gson##---------------Begin: proguard configuration for Gson ----------# Gson uses generic type information stored in a class file when working with fields. Proguard# removes such information by default, so configure it to keep all of it.-keepattribute原创 2020-05-12 19:02:21 · 1079 阅读 · 1 评论 -
Andriod Studio Build output输出乱码解决方案
1. 双击shift,输入 edit custom vm options2. 选第一个,如果studio64.exe.vmoptions文件不存在,会提示创建3. 添加配置:-Dfile.encoding=UTF-8重启Android Studio即可原创 2020-04-28 16:34:50 · 753 阅读 · 0 评论 -
TextureView等比全屏播放视频(避免拉伸)
TextureView默认以fitxy的方式加载surface数据,如果需要等比全屏播放视频,避免拉伸,可以采用Matrix对TextureView进行变换 Matrix matrix = new Matrix();//第1步:把视频区移动到View区,使两者中心点重合.matrix.preTranslate((textureViewWidth - videoWidth) / 2, (te...原创 2020-04-03 09:54:02 · 5248 阅读 · 0 评论 -
Android SeekBar Thumb支持透明背景效果
一个属性即可支持android:splitTrack="false"这个属性是在api21以上才生效,以下则没有效果原创 2019-11-22 14:35:27 · 399 阅读 · 0 评论 -
SeekBar避免起点和终点Thumb有一半被遮挡
一个属性即可解决这个问题android:thumbOffset="0px"原创 2019-11-21 17:15:17 · 910 阅读 · 1 评论 -
Android编译变体BuildVariant详解
Android开发在构建apk时,AS会根据指定的编译变体选择指定的代码、资源和配置项进行apk构建,编译变体由两部分组成:编译类型–BuildType产品特性–ProductFlavor编译变体由不同的ProductFlavor和BuildType组合而成BuildVariant=ProductFlavor*BuildType1. 编译类型–BuildType在ap...原创 2019-10-12 14:04:16 · 2306 阅读 · 0 评论 -
Android应用启动耗时分析
Android应用启动分为三种情况:冷启动暖启动热启动以上从上到下依次启动耗时会减少。接下来一一讲解冷启动冷启动会出现在系统启动后或应用被系统kill掉后,首次启动应用,冷启动包括三个大步骤:启动APP,创建APP进程创建主线程,渲染第一帧画面将启动时创建的空白window替换为绘制好的activity,开始接受用户交互每一步中执行的具体操作如下:1. 启动APP,创...原创 2019-08-20 20:08:16 · 2350 阅读 · 0 评论 -
Android自定义不确定进度条
页面loading时会使用到不确定进度条,如果官方的效果不满足要求,则需要自定义,通过以下几个步骤即可以实现:跟设计师要一张“转圈”的效果切图,也可以通过shape资源文件编写,这里直接使用设计师给的切图,放到资源目录drawable下,命名为loading,资源引用:R.drawable.loading;在drawable目录下创建rotate资源文件,如下<?xml versi...原创 2019-08-19 10:29:41 · 1299 阅读 · 0 评论 -
Android子View复制父布局的状态(focus,selected等等)
有时候需要动态的修改列表(ListView、RecyclerView等)中item内部某个子View的状态,此时可行的方法是通过findViewById找到这个子View,然后设置selected等状态,但是此时如果这个item内有多个子View都需要同样的改变状态,就会很繁琐,其实Android本身已经为我们考虑好了这种情况,只需一个属性即可优雅地解决 android:duplicatePar...原创 2019-08-07 10:15:28 · 2145 阅读 · 0 评论 -
Android TextView跑马灯实现
跑马灯效果很简单,组合TextView的属性即可<TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" an...原创 2019-08-07 10:06:42 · 161 阅读 · 0 评论 -
Android监控应用安装、删除和覆盖安装
概述系统在安装、删除、覆盖安装应用的时候会发出相应的广播,因此只需要监听相应广播即可。广播Aciton如下: //新增包 public static final String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED"; //删除包 public static final String AC...原创 2019-08-05 10:11:40 · 1957 阅读 · 0 评论 -
adb录屏和截图
adb录屏和截图录屏截图通过Android Studio录屏和截图录屏录屏命令:screenrecord在adb shell下输入命令查看使用帮助:screenrecord --help输出帮助内容如下:PS C:\Users\Admin> adb shellX5:/ $ screenrecord --helpUsage: screenrecord [options] &...原创 2019-06-14 11:29:23 · 921 阅读 · 0 评论 -
LeanBack:HorizontalGridView和VerticalGridView使用详解
LeanBack是Google官方推出的TV端的功能库,里面包含了很多在TV Android端开发常用的控件,本文重点介绍其对RecyclerView适配TV端做的封装:HorizontalGridView、VerticalGridView。HorizontalGridView和VerticalGridView都继承自RecyclerView,针对TV的特性,在item排版、焦点流转、上/失焦...原创 2019-06-13 20:06:05 · 16154 阅读 · 8 评论 -
Android Studio3.3部分断点不生效解决方法
The issue is in the build tool chain (gradle, d8/r8). Problem isfixedinAndroid Studio 3.4 Beta 1withgradle 3.4.0-beta01.Or a workaround solution for this issue can be used by locally updating th...原创 2019-03-25 10:43:30 · 2814 阅读 · 0 评论 -
Java注解详解
注解定义注解自jdk1.5引入,在程序中作为元数据,对程序项如类、方法、属性、参数等做标注接受作用,可以由编译工具解析,或者在执行时通过反射解析,以对程序做运行时的动态调整。java内置注解@Override @Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Overri...原创 2018-10-15 20:57:42 · 161 阅读 · 0 评论 -
Android Studio解决依赖文件冲突
如果项目中有多个module,各module引用的了不同的第三方依赖库,其中又间接引用到了相同的依赖,就可能出现有些文件重复的情况而导致编译失败,此时可以在需要去除的module的build.gradle里加入如下配置即可排除掉该module的相应文件android{ packagingOptions{ exclude 'okhttp3/interna...原创 2018-10-15 19:32:28 · 3141 阅读 · 1 评论 -
Android普通应用升级为系统应用,获取系统权限
有时候使用某些api需要使用系统权限,如调用PackageInstaller的相关接口,需要android.permission.INSTALL_PACKAGES权限,该权限系统只会授权给系统应用,此时可以考虑将我们的应用升级为系统应用,升级为系统应用有两种方法:将apk放到/system/app目录下,重启手机即可,此方法比较粗暴,而且需要修改/system目录的读写权限,因此需要root,...原创 2018-10-12 16:42:15 · 11071 阅读 · 0 评论 -
Android静默安装实现
Android静默安装的方案有很多种,如利用ProcessBuilder或者Runtime.getRuntime().exec()运行pm isntall命令,但此方法需要先su,需要root权限,或者反射获取PackageManager.installPackage(),使用起来也比较繁琐,同时需要获取系统权限,在API21以上可以是用PackageInstaller.Secssion实现静默安...原创 2018-10-12 15:48:35 · 3075 阅读 · 6 评论