Android 小知识
记录点零碎的小知识点。
目录
1.BindingView中引用include中的控件
2.将文件复制到手机根目录中
3.android string占位符
4.动态更改shape色值
5.查看apk签名文件信息
6.虚线
7.Kotlin 协程切换
8.使用gradle plugin版本高于4.2时,可能会自动开启资源优化
9.Android 动态设置margin
10.TabLayout移除点击效果
11.约束布局
12.请求体忽略字段
13.去掉字体内边距
14.adb查看当前界面activity名称
15.aab转apk
16.adb查看cup类型
1.BindingView中引用include中的控件
需要给include一个id,再通过这个id去拿里面的控件id。
<includeandroid:id="@+id/include_mine"layout="@layout/item_family_list" />
binding.includeMine.clItemFamily
Databinding依赖
buildFeatures {dataBinding = true}
2.将文件复制到手机根目录中
adb push filePath/test.txt /sdcard
3.android string占位符
<string name="money">金额:%1$s</string>
填充:
String.format(getString(R.string.money),"100")
4.动态更改shape色值
if (view.background != null) {(view.background as GradientDrawable).apply {this.setStroke(2, colorResId)//设置边框,width为像素this.setColor(SysUtil.getColor(colorResId))//设置填充色值}} else {val drawable =(SysUtil.getDrawable(R.drawable.shape_stroke_corner8_blue) as GradientDrawable).apply {this.setStroke(2, colorResId)//设置边框,width为像素this.setColor(SysUtil.getColor(colorResId))//设置填充色值}val d = view.compoundDrawablesview.setCompoundDrawablesWithIntrinsicBounds(drawable, d[1], d[2], d[3])}
5.查看apk签名文件信息
keytool -printcert -jarfile xxx.apk
6.虚线
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="line"><strokeandroid:width="1dp"android:color="#979797"android:dashWidth="6dp"android:dashGap="3dp" /><size android:height="0.5dp" />
</shape>
7.Kotlin 协程切换
GlobalScope.launch(Dispatchers.Main) {var urlName :String?= nullwithContext(Dispatchers.IO){delay(2000)urlName = ossRep.upload(view.context, mRequest)}val mUrl = "${mRequest.getImgRootUrl()}$urlName"
}
8.使用gradle plugin版本高于4.2时,可能会自动开启资源优化
开启资源优化后,资源名称被混淆,会导致补丁工具在生成补丁时一直卡在"开始构建补丁.....",无法正常解析apk包。解决方案:在gradle.properties 中新增android.enableResourceOptimizations=false,重新生成基线包和修复包,然后再生成补丁。
android.enableResourceOptimizations=false
9.Android 动态设置margin
父布局为ConstraintLayout时,如果你想使用原布局中的布局参数,仅仅是想修改marginTop的值,那么可以这样做:
val params = tvHomeLogin.layoutParams as ConstraintLayout.LayoutParams
val top = barHeight + barHeight / 2
params.setMargins(params.leftMargin, top, params.rightMargin, params.bottomMargin)
tvHomeLogin.layoutParams = params
父布局为LinearLayout时,改为线性布局对应的布局参数就可以了
10.TabLayout移除点击效果
设置下面属性即可
app:tabRippleColor="@color/transparent"
11.约束布局
layout_constraintHorizontal_bias 水平偏移
layout_constraintVertical_bias 垂直偏移
当控件因为wrap_content,top_toTop及bottom_toTop导致的居中时,可以用偏移量改变控件位置
12.请求体忽略字段
@Transientvar selected: Boolean = false
13.去掉字体内边距
<item name="android:includeFontPadding">false</item><!-- 去掉字体内边距 -->
有时候UI设计师不会考虑字体自带的内边距,然而我们的字体基本都是有内边距的,所以我的想法是在app的主题中去掉字体内边距。
14.adb查看当前界面activity名称
查看activity:
adb shell dumpsys window windows | findstr "Current"
adb shelldumpsys activity | grep -i run
mac有效:
adb shell "dumpsys window | grep mCurrentFocus"
查看fragment:
adb shell "dumpsys activity top | grep '#0: ' | tail -n 1"
15.aab转apk
示例:
java -jar bundletool-all-1.8.2.jar build-apks --bundle=/Users/xwk/Documents/谷歌上架/aab/app-release.aab --output=/Users/xwk/Documents/谷歌上架/aab/test.apks --ks=/Users/xwk/Documents/谷歌上架/aab/xx.jks --ks-pass=pass:123456 --ks-key-alias=xxx --key-pass=pass:123456
安装:
java -jar E:\BoundleTool\bundletool-all-1.11.2.jar install-apks --apks=D:\ProjectWork\ProjectWorkSurvaval2\SourceCode\APK\YouLoft\9.26\MountAndMagic9.26.apks
16.adb查看cup类型
adb shell getprop ro.product.cpu.abi
Android 小知识相关推荐
- Android小知识10则(上)(2018.8重编版)
Android小知识10则(下) 目录 前言 横竖屏锁定 不同分辨率的图标 将字符串写在资源文件中 为AlertDialog设置点击监听 ProgressDialog了解一下 最后 前言 Androi ...
- Android小知识10则(下)
Android小知识10则(上) github传送门 注: 在目录中点击可以跳转到具体代码页 目录 Chronometer和CountDownTimer计时器 Chronometer的使用 Count ...
- android小知识(1)
1.Android名称的由来. 大家可能不知道,Android一词的本义原指"机器人",它也是谷歌于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操 ...
- Android小知识-Fragment
转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 今天还是总结下Android中的小知识点Fragment,Fragmen ...
- android byte转string_唠点儿你不一定知道的Android小知识
本文作者 作者:郑卫超 链接: https://vchao.blog.csdn.net/article/details/104349868 本文由作者授权发布. 1. YYYY 和 yyyy 不一样 ...
- Android小知识-电量优化WakeLock的使用
本平台的文章更新会有延迟,大家可以关注微信公众号-顾林海,包括年底前会更新kotlin由浅入深系列教程,目前计划在微信公众号进行首发,如果大家想获取最新教程,请关注微信公众 Android会不断关闭各 ...
- Android 小知识
1.判断sd卡是否存在 boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environmen ...
- android小知识之意图(intent)
android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity B ...
- Android小知识-了解下Android系统的显示原理
本平台的文章更新会有延迟,大家可以关注微信公众号-顾林海,包括年底前会更新kotlin由浅入深系列教程,目前计划在微信公众号进行首发,如果大家想获取最新教程,请关注微信公众 在Android系统中应用 ...
最新文章
- 学计算机应用英语词汇,计算机应用常用英语词汇 10
- relocation R_X86_64_32S against `.data‘ can not be used when making a PIE object; recompile with -fP
- 在现有K8S集群上安装部署JenkinsX
- RecyclerView因版本问题无法加载
- 五十一、微信小程序云开发中的云函数
- jsp水果商城系统毕业设计网站成品论文
- Java关于数据结构的实现:散列
- jsp 引入java类库报错_myeclipse中运行Jsp项目调用java,运行不了,报错说不能解析jsp中的类型,资源文件无法使用,求解,...
- 推荐一款华为最新的自动化代码检查工具
- java mina框架教程_[Java教程]Mina框架HelloWorld入门
- 浅层复制和深层复制( implements Cloneable )
- ORA-01830: date format picture ends before converting entire input string的几种原因
- 服务器托管费用一般是多少
- 如何准备蓝桥杯以及刷题
- 零知开源分享-L298N模块使用 电机驱动 TT马达
- 1024 程序员节,带你走进程序员的世界——
- tableau关于增长率、占比的表计算实践应用
- 如何使用Photoshop(PS)将图片的底色变为透明
- GitHub超 7.9 万星,最全Python入门算法!
- stm32F767开发版基本介绍
热门文章
- 分布式文件系统HDFS常用命令
- JumpServer 整合ldap认证
- PC机装Mac Lion 教程与经验
- 手机输入法大战将在M-Market展开
- 软件项目业务外包之路——起点
- Follow Me——总结
- vb教材笔记_金文老师vb教程笔记(完整版).doc
- [FC][SRAM扩容教程(Mapper 4为例)]
- 在VirtualBox中为全屏显示安装增强功能时出现Please install the gcc make perl packages from your distribution
- Eclipse安装插件