![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
老头儿ii
除了代码,还有诗和远方。
展开
-
适配刘海屏
```private void fitNotch() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { boolean isSupport = SPUtils.getBoolean(this, SPUtils.KEY_YSDK_SUPPORT_NOTCH, false); YSDKApi.setNotchSupport(isSupport); boole原创 2021-06-25 10:18:21 · 245 阅读 · 0 评论 -
Android Studio连接手机之后识别不了Database Inspector
问题今天测试同学想要查看一下应用数据库中的数据,Android Studio 4.0+版本中刚好有这个功能,于是让他也安装了一个Android Studio。打开开发者选项的USB调试之后,Android Studio也识别了手机,显示了应用进程,Logcat中也可以看到具体的日志,但是Database Inspector就是识别不了应用进程。经过一番折腾之后,才发现了问题所在。解决方式经过一番测试之后,发现Android Studio的Database Inspector功能需要查看哪个进程对应的数原创 2021-01-22 21:59:27 · 3614 阅读 · 2 评论 -
Android动态设置ImageView的src
setImageDrawable(drawable);setImageBitmap(bm);setImageResource(resId);原创 2020-10-26 20:21:12 · 2245 阅读 · 0 评论 -
安卓apk加固之后再次签名的全过程
安卓apk加固之后再次签名的全过程原创 2020-09-25 10:24:16 · 349 阅读 · 0 评论 -
Android 属性动画 常用方法 与 插值器 Interpolator
Android 属性动画 常用方法 与 插值器 Interpolator原创 2020-09-04 20:33:49 · 90 阅读 · 0 评论 -
Android 11 应用兼容性适配指导
Android 11 应用兼容性适配指导原创 2020-09-02 10:13:43 · 3831 阅读 · 0 评论 -
Android混淆
Android混淆从入门到精通原创 2020-08-26 19:29:35 · 97 阅读 · 0 评论 -
Android应用权限
官方文档原创 2020-08-22 16:07:00 · 114 阅读 · 0 评论 -
ButterKnife为什么不是依赖注入?
引用至抛物线:是否依赖注入的关键在于「初始化工作由谁执行」,交给别人执行初始化的才叫依赖注入;但其实「由谁执行」依然不够精确,确切说应该是「初始化工作由谁决定」,一般来说,「决定」和「执行」肯定是一个类的,但 ButterKnife 有点特殊:它是类自己来决定( @Inject(R.id.text) 对吧?),但执行却由外部来执行(ButterKnife 是初始化的执行者)。所以 ButterKnife 只是一个刽子手而已,决定者仍然是类自己。所以 ButterKnife 不是依赖注入。知道怎么判断「原创 2020-08-13 10:29:53 · 143 阅读 · 0 评论 -
Android Apk构建流程
官方文档原创 2020-08-08 15:11:42 · 180 阅读 · 0 评论 -
WanAndroid
WanAndroid是鸿洋大神的一个网站,里面有很多优质的技术文章,鸿洋大神还提供了网站的api供外部学习使用WanAndroid…学习GithubAndroid Jetpack架构开发组件化应用实战原创 2020-08-08 13:51:25 · 282 阅读 · 0 评论 -
ADB 用法大全
ADB 用法大全原创 2020-08-08 11:07:07 · 104 阅读 · 0 评论 -
AccessibilityService详解
AccessibilityService使用入门原创 2020-08-07 17:41:58 · 2842 阅读 · 1 评论 -
Android Jetpack-架构(Architecture)-数据绑定
官方文档原创 2020-07-23 20:36:22 · 118 阅读 · 0 评论 -
Android Jetpack-架构(Architecture)-Navigation
官方文档原创 2020-07-23 14:24:19 · 137 阅读 · 0 评论 -
Android View
转载Android LayoutInflater原理分析,带你一步步深入了解View(一)Android视图绘制流程完全解析,带你一步步深入了解View(二)原创 2020-06-15 17:16:53 · 110 阅读 · 0 评论 -
Android 将assets中的特定目录文件拷贝至sd卡
现在有一个需求,就是之前加载Lottie动画都是访问的assets中的文件,现在需要在程序启动的把assets中的文件拷贝至sd卡中代码:package com.fangju.lottiesample;import android.content.Context;import android.content.res.AssetManager;import android.text.TextUtils;import java.io.BufferedReader;import java.io.原创 2020-05-18 19:01:11 · 664 阅读 · 0 评论 -
ConstraintLayout中的layout_constraintDimensionRatio属性
第一种情况:控件宽度为0,高度为有效值则app:layout_constraintDimensionRatio="w,2:1"这行代码可以理解为以控件高度为基准,宽度的数值:高度的数值=2:1,即这里的宽度为200dp。效果图如下:如果把layout_constraintDimensionRatio的值换成h,2:1,那么这行代码就理解为以控件高度为基准,高度的数值:宽度的数值=2:1,即...原创 2020-04-30 00:11:20 · 5317 阅读 · 0 评论 -
TextView实现文字横向滚动效果
Android系统API自带了这种属性,只需要我们设置一下就可以了对于固定的文字可以在xml中定义: <TextView ... android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="t...原创 2020-04-27 16:11:09 · 481 阅读 · 0 评论 -
Android Material Design
参考:Android Material Design 兼容库的使用详解原创 2020-04-09 16:38:17 · 406 阅读 · 0 评论 -
仿ButterKnife简易实现findViewById
项目创建创建一个新项目,然后创建三个子ModuleAndroid Library:butterknife,里面包含了butterknife的一些简易的模板类Java Library:butterknife-annotations,包含了butterknife所需的注解Java Library:butterknife-compiler,butterknife的注解处理器1.在butt...原创 2020-04-01 20:51:16 · 149 阅读 · 0 评论 -
自定义View-计步器
QQStepViewpackage com.fangju.qqstepview;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;import android.graphic...原创 2020-04-01 11:54:53 · 157 阅读 · 0 评论 -
Android 自定义View
自定义View自定义View即系统中没有的,我们自己实现的View,一般继承自View自定义有四个构造函数,其中前三个构造函数public class CustomView extends View { // 代码中直接new的时候调用 public CustomView(Context context) { super(context); } ...原创 2020-03-31 23:30:55 · 104 阅读 · 0 评论 -
注解和反射实现findViewById
首先定义一个ViewById的注解@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)public @interface ViewById { int value();}然后定义一个解析注解的工具类public class ViewUtil { public static void inject(...原创 2020-03-25 16:38:39 · 195 阅读 · 0 评论 -
Android Jetpack-架构(Architecture)-ViewModel
ViewModel概览ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续存在。Android 框架可以管理界面控制器(如 Activity 和 Fragment)的生命周期。Android 框架可能会决定销毁或重新创建界面控制器,以响应完全不受您控制的某些用户操作或设备事件。如果系统销毁或重新创建界面控制器,则存储...原创 2020-03-23 18:46:36 · 267 阅读 · 0 评论 -
Android Jetpack官方学习文档总结
Android JetpackJetpack是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码地工作并简化复杂任务,以便将精力集中放在所需代码上。Jetpack包含与平台API解除捆绑地androidx.*软件包库。这意味着,它可以提供向后兼容性,且比Android平台地更新频率更高,一次确保您始终可以获取最新且最好地Jetpack组件...原创 2020-03-22 09:57:10 · 1698 阅读 · 0 评论 -
Androidx初尝及其新旧包对照表
Androidx初尝及其新旧包对照表原创 2020-03-20 18:57:58 · 224 阅读 · 0 评论 -
Win版的Android Studio上编写并编译proto文件
首先安装cmder原创 2020-03-17 22:42:36 · 385 阅读 · 0 评论 -
compileSdkVersion, minSdkVersion 和 targetSdkVersion
参考:compileSdkVersion, minSdkVersion 和 targetSdkVersion,傻傻分不清楚targetSdkVersion、compileSdkVersion、minSdkVersion作用与区别原创 2020-03-16 10:51:28 · 118 阅读 · 0 评论 -
android:screenOrientation
Android应用程序中,android:screenOrientation用于控制activity启动时方向,取值可以为:unspecified,默认值,由系统决定,不同手机可能不一致landscape,强制横屏显示portrait,强制竖屏显behind,与前一个activity方向相同sensor,根据物理传感器方向转动,用户90度、180度、270度旋转手机方向,activit...原创 2020-03-16 10:11:58 · 263 阅读 · 0 评论 -
Gradle Version和Android Gradle Plugin Version
原创 2020-03-06 11:19:52 · 1035 阅读 · 0 评论 -
关于clipChildren属性无效的原因
需求现在有一个需求就是希望实现一个这样的布局,并且支持数据配置多项所以我把里面部分封装成了一个继承ViewGroup的自定义View,布局代码如下:<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" ...原创 2020-03-02 15:15:19 · 5474 阅读 · 0 评论 -
ImageView的scaleType的属性理解
ImageView的scaleType的属性理解原创 2020-03-01 14:31:38 · 89 阅读 · 0 评论 -
ScrollView.scrollTo(0,0)不生效的解决办法
需求希望从A页面跳转到B页面的时候能够把A页面完全的从内存中释放掉,从B页面返回时希望又重新创建一个一样的A页面ps:有释放前保存页面数据的回调,也有创建页面后恢复数据的回调问题因为我的A页面中有一个ScrollView,所以在跳转到B页面之前我需要获取保存当前A页面滑动的坐标,然后恢复时通过scrollTo方法定位到此坐标。现在的问题是创建完A页面之后通过scrollView.scr...原创 2020-02-27 12:20:42 · 2474 阅读 · 0 评论 -
ImageView设置background和src的区别
ImageView设置background和src的区别原创 2020-02-17 10:18:46 · 279 阅读 · 0 评论 -
Android依赖库统一配置文件
config.gradleext { android = [ compileSdkVersion: 29, buildToolsVersion: "29.0.2", applicationId : "com.fangju.packagename", minSdkVersion : ...原创 2020-02-16 13:13:33 · 366 阅读 · 0 评论 -
Android Jetpack学习笔记
基础依赖Support库 implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'com.google.android.material:material:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' ...原创 2020-02-16 12:37:30 · 290 阅读 · 0 评论 -
Android自定义View之Paint绘制文本
FontMetrics原创 2020-01-01 17:12:33 · 412 阅读 · 0 评论 -
Android打包编译流程
参考资料熟悉Android打包编译的流程原创 2019-12-27 10:33:34 · 256 阅读 · 0 评论 -
Android 架构学习
从 0 到 1,带你解剖 MVP 的神秘之处,并自己动手实现 MVP !原创 2019-12-23 10:55:27 · 65 阅读 · 0 评论