记录点零碎的小知识点。

目录

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 小知识相关推荐

  1. Android小知识10则(上)(2018.8重编版)

    Android小知识10则(下) 目录 前言 横竖屏锁定 不同分辨率的图标 将字符串写在资源文件中 为AlertDialog设置点击监听 ProgressDialog了解一下 最后 前言 Androi ...

  2. Android小知识10则(下)

    Android小知识10则(上) github传送门 注: 在目录中点击可以跳转到具体代码页 目录 Chronometer和CountDownTimer计时器 Chronometer的使用 Count ...

  3. android小知识(1)

    1.Android名称的由来. 大家可能不知道,Android一词的本义原指"机器人",它也是谷歌于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操 ...

  4. Android小知识-Fragment

    转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 今天还是总结下Android中的小知识点Fragment,Fragmen ...

  5. android byte转string_唠点儿你不一定知道的Android小知识

    本文作者 作者:郑卫超 链接: https://vchao.blog.csdn.net/article/details/104349868 本文由作者授权发布. 1. YYYY 和 yyyy 不一样 ...

  6. Android小知识-电量优化WakeLock的使用

    本平台的文章更新会有延迟,大家可以关注微信公众号-顾林海,包括年底前会更新kotlin由浅入深系列教程,目前计划在微信公众号进行首发,如果大家想获取最新教程,请关注微信公众 Android会不断关闭各 ...

  7. Android 小知识

    1.判断sd卡是否存在 boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environmen ...

  8. android小知识之意图(intent)

    android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity  B ...

  9. Android小知识-了解下Android系统的显示原理

    本平台的文章更新会有延迟,大家可以关注微信公众号-顾林海,包括年底前会更新kotlin由浅入深系列教程,目前计划在微信公众号进行首发,如果大家想获取最新教程,请关注微信公众 在Android系统中应用 ...

最新文章

  1. 学计算机应用英语词汇,计算机应用常用英语词汇 10
  2. relocation R_X86_64_32S against `.data‘ can not be used when making a PIE object; recompile with -fP
  3. 在现有K8S集群上安装部署JenkinsX
  4. RecyclerView因版本问题无法加载
  5. 五十一、微信小程序云开发中的云函数
  6. jsp水果商城系统毕业设计网站成品论文
  7. Java关于数据结构的实现:散列
  8. jsp 引入java类库报错_myeclipse中运行Jsp项目调用java,运行不了,报错说不能解析jsp中的类型,资源文件无法使用,求解,...
  9. 推荐一款华为最新的自动化代码检查工具
  10. java mina框架教程_[Java教程]Mina框架HelloWorld入门
  11. 浅层复制和深层复制( implements Cloneable )
  12. ORA-01830: date format picture ends before converting entire input string的几种原因
  13. 服务器托管费用一般是多少
  14. 如何准备蓝桥杯以及刷题
  15. 零知开源分享-L298N模块使用 电机驱动 TT马达
  16. 1024 程序员节,带你走进程序员的世界——
  17. tableau关于增长率、占比的表计算实践应用
  18. 如何使用Photoshop(PS)将图片的底色变为透明
  19. GitHub超 7.9 万星,最全Python入门算法!
  20. stm32F767开发版基本介绍

热门文章

  1. 分布式文件系统HDFS常用命令
  2. JumpServer 整合ldap认证
  3. PC机装Mac Lion 教程与经验
  4. 手机输入法大战将在M-Market展开
  5. 软件项目业务外包之路——起点
  6. Follow Me——总结
  7. vb教材笔记_金文老师vb教程笔记(完整版).doc
  8. [FC][SRAM扩容教程(Mapper 4为例)]
  9. 在VirtualBox中为全屏显示安装增强功能时出现Please install the gcc make perl packages from your distribution
  10. Eclipse安装插件