抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

2020.9 月尾 踩坑小记

获取屏幕亮度问题

直接移步:关于MIUI屏幕亮度获取范围不对的问题

关于 View 绘制

最近在做一个纯手工绘制的自定义 view 的时候,傻不拉几的一个个位置的画,实际上应该合理利用自定义 drawable,通过 setBounds,或者直接移动 canvas 进行多位置的复用绘制。而不是手动一个个调整坐标,应该作为一个整体进行绘制。

https://articles.zsxq.com/id_bs2vrps46iau.html

使用 layer – list 画拖动的双杠

并不是每时每刻都需要自定义view,其实很多东西,官方以及提供好了。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item>
<shape>
<solid android:color="@android:color/transparent" />
</shape>
</item>
<item
android:bottom="5dp">
<shape>
<corners android:radius="1dp" />
<size
android:width="6dp"
android:height="2.5dp" />
<solid android:color="#fff" />
</shape>
</item>

<item
android:top="5dp">
<shape>
<corners android:radius="1dp" />
<size
android:width="6dp"
android:height="2.5dp" />
<solid android:color="#fff" />
</shape>
</item>

</layer-list>

当然,主要原因还是以前都是给切图,而现在大多自己画。

参考:https://blog.csdn.net/android_cmos/article/details/80033784

透明度与不透明度

以前 UI 都是用透明度,现在UI 都是不透明度,直接移步懒人表:

Android颜色值(#AARRGGBB)透明度百分比和十六进制对应关系以及计算方法

Windows git快捷命令

https://blog.csdn.net/qq_44030336/article/details/90242634

对于 git bash for window,虽然也不好用,但也是尽力了,使用起来也是类似,在用户目录下,编辑.bashrc ,输入类似以下的别名设置即可,当然,也得 source .bashrc

alias gs='git status'
alias gm='git commit'
alias gp='git push'
alias ga='git add'
alias gaa='git add --all'
alias gc='git checkout'
alias gpl='git pull'

参考:https://blog.csdn.net/qq_44030336/article/details/90242634

用ItemDecoration给列表做分隔线吧

以前都是同一个1dp 的 view 在 item 中进行设置,太原始了,还是用用ItemDecoration吧,不要太懒了

inner class Line : RecyclerView.ItemDecoration() {
    val paint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
        strokeWidth = 1f.dp
        color = ContextCompat.getColor(context, R.color.ocr_result_decoration_line)
    }

    override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) {
        for (i in 0 until parent.childCount) {
            val child = parent.getChildAt(i)
            if (i == 0) {
                c.drawLine(0f, 1f.dp, child.right.toFloat(), 1f.dp, paint)
            }
            c.drawLine(
                0f,
                child.bottom.toFloat(),
                child.right.toFloat(),
                child.bottom.toFloat() + 1f.dp,
                paint
            )
        }
    }
}

AAR调试设置步骤

公司很多代码都是类库的形式,gradle 配置得比较复杂,如果不熟悉gradle,确实不知道怎么搞,但一旦知道,就很简单。

  • 修改settings.gradle,配置clone下来的源代码,以projectName为例:
include ':projectName'
project(':projectName').projectDir = new File(settingsDir, 'project/path/')
  • 依赖本地库,并注释之前的依赖库
//implementation "some-lib:version"
implementation project(':projectName')
  • 然后可以直接看到源码并修改,调试时正常调试即可。

9月完,双节快乐。


0条评论

发表评论