自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 969 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 690

原创 TextureView等比全屏播放视频(避免拉伸)

TextureView默认以fitxy的方式加载surface数据,如果需要等比全屏播放视频,避免拉伸,可以采用Matrix对TextureView进行变换 Matrix matrix = new Matrix();//第1步:把视频区移动到View区,使两者中心点重合.matrix.preTranslate((textureViewWidth - videoWidth) / 2, (te...

2020-04-03 09:54:02 4791

原创 解决Clion输出中文乱码问题

两个步骤即可解决File->settingrun窗口底部,按如下配置按以上配置,即可正常输出中文

2020-01-14 17:22:40 4782 3

原创 Android SeekBar Thumb支持透明背景效果

一个属性即可支持android:splitTrack="false"这个属性是在api21以上才生效,以下则没有效果

2019-11-22 14:35:27 349

原创 SeekBar避免起点和终点Thumb有一半被遮挡

一个属性即可解决这个问题android:thumbOffset="0px"

2019-11-21 17:15:17 825 1

原创 Cmake+Mingw编译报The C compiler identification is unknown解决方法

环境CLion+Cmake+Mingw报错日志-- The C compiler identification is unknown-- Check for working C compiler: D:/MinGW/bin/gcc.exe-- Check for working C compiler: D:/MinGW/bin/gcc.exe -- brokenCMake Error ...

2019-10-17 20:02:48 6494 4

原创 Android编译变体BuildVariant详解

Android开发在构建apk时,AS会根据指定的编译变体选择指定的代码、资源和配置项进行apk构建,编译变体由两部分组成:编译类型–BuildType产品特性–ProductFlavor编译变体由不同的ProductFlavor和BuildType组合而成BuildVariant=ProductFlavor*BuildType1. 编译类型–BuildType在ap...

2019-10-12 14:04:16 2163

原创 官网webp转换工具cwebp简介

简介webp是Google推出的一种新式图片格式、相比于常用的jpg、png和gif格式,最大的优势就是同等质量下压缩率更高、图片文件更小、利于节约存储空间和网络带宽。更多信息可以查看官网(需要自备梯子):https://developers.google.com/speed/webp/。Google官方推出了工具cwebp用于进行其他图片格式与webp格式进行相互转换安装下载地址:htt...

2019-08-27 20:32:02 5592

原创 查看图片元数据方法

简介图片元数据,包括格式、宽、高、分辨率、颜色通道、透明通道、质量指数(压缩率)、位深度、像素数等,可以通过工具ImageMagic来读取,ImageMagic是个很强大的图片处理工具,包括创建图片、编辑图片、转换图片、压缩图片等等,而且支持几乎所有的图片格式。此处介绍读取元数据的方法。安装下载地址:https://imagemagick.org/script/download.php按指...

2019-08-27 18:51:08 4970

原创 Android应用启动耗时分析

Android应用启动分为三种情况:冷启动暖启动热启动以上从上到下依次启动耗时会减少。接下来一一讲解冷启动冷启动会出现在系统启动后或应用被系统kill掉后,首次启动应用,冷启动包括三个大步骤:启动APP,创建APP进程创建主线程,渲染第一帧画面将启动时创建的空白window替换为绘制好的activity,开始接受用户交互每一步中执行的具体操作如下:1. 启动APP,创...

2019-08-20 20:08:16 2205

原创 Android自定义不确定进度条

页面loading时会使用到不确定进度条,如果官方的效果不满足要求,则需要自定义,通过以下几个步骤即可以实现:跟设计师要一张“转圈”的效果切图,也可以通过shape资源文件编写,这里直接使用设计师给的切图,放到资源目录drawable下,命名为loading,资源引用:R.drawable.loading;在drawable目录下创建rotate资源文件,如下<?xml versi...

2019-08-19 10:29:41 1209

原创 Android子View复制父布局的状态(focus,selected等等)

有时候需要动态的修改列表(ListView、RecyclerView等)中item内部某个子View的状态,此时可行的方法是通过findViewById找到这个子View,然后设置selected等状态,但是此时如果这个item内有多个子View都需要同样的改变状态,就会很繁琐,其实Android本身已经为我们考虑好了这种情况,只需一个属性即可优雅地解决 android:duplicatePar...

2019-08-07 10:15:28 1910

原创 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 134

原创 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 1846

原创 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 794

原创 LeanBack:HorizontalGridView和VerticalGridView使用详解

LeanBack是Google官方推出的TV端的功能库,里面包含了很多在TV Android端开发常用的控件,本文重点介绍其对RecyclerView适配TV端做的封装:HorizontalGridView、VerticalGridView。HorizontalGridView和VerticalGridView都继承自RecyclerView,针对TV的特性,在item排版、焦点流转、上/失焦...

2019-06-13 20:06:05 15694 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 2766

原创 Java注解详解

注解定义注解自jdk1.5引入,在程序中作为元数据,对程序项如类、方法、属性、参数等做标注接受作用,可以由编译工具解析,或者在执行时通过反射解析,以对程序做运行时的动态调整。java内置注解@Override @Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Overri...

2018-10-15 20:57:42 131

原创 Android Studio解决依赖文件冲突

如果项目中有多个module,各module引用的了不同的第三方依赖库,其中又间接引用到了相同的依赖,就可能出现有些文件重复的情况而导致编译失败,此时可以在需要去除的module的build.gradle里加入如下配置即可排除掉该module的相应文件android{ packagingOptions{ exclude 'okhttp3/interna...

2018-10-15 19:32:28 2962 1

原创 Android普通应用升级为系统应用,获取系统权限

有时候使用某些api需要使用系统权限,如调用PackageInstaller的相关接口,需要android.permission.INSTALL_PACKAGES权限,该权限系统只会授权给系统应用,此时可以考虑将我们的应用升级为系统应用,升级为系统应用有两种方法:将apk放到/system/app目录下,重启手机即可,此方法比较粗暴,而且需要修改/system目录的读写权限,因此需要root,...

2018-10-12 16:42:15 10680

原创 Android静默安装实现

Android静默安装的方案有很多种,如利用ProcessBuilder或者Runtime.getRuntime().exec()运行pm isntall命令,但此方法需要先su,需要root权限,或者反射获取PackageManager.installPackage(),使用起来也比较繁琐,同时需要获取系统权限,在API21以上可以是用PackageInstaller.Secssion实现静默安...

2018-10-12 15:48:35 2961 6

空空如也

空空如也

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

TA关注的人

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