- 博客(107)
- 资源 (5)
- 收藏
- 关注
原创 getResources().getDimension引起的问题
getDimension()会自动把数值解析成xp单位,因为view的宽高本来接受的就是xp,所以不会变化,但是 setTextSize接受的单位默认是sp。相当于getDimension()把sp转成xp,会放大,setTextSize又会将转换后的值变成xp,又放大了。想着应该没问题吧,结果动态代设置的字体比xml中设置的大很多,而宽高确没变化。
2024-07-05 17:59:59 183
原创 Dialog的知识点
Dialog仅在在第一次启动时候会执行onCreate()方法(之后无论该Dialog执行Dismiss(),cancel(),stop(),Dialog都不会再执行onCreate()方法)。原文链接:https://blog.csdn.net/qizewei123/article/details/78232752。cancel() 是在点击BACK按钮或者Dialog外部时触发,然后依次执行onDismiss() 和 stop()。再次点击显示按钮,然后执行Dialog.dismiss() 方法。
2024-07-04 16:02:11 176
原创 android的surface
Surface 是Android系统中真正的画布,Activity上的所有UI都是在Surface 上完成绘制的,每一个Surface 对象都在SurfaceFlinger中有对应的图层(Layer),SurfaceFlinger 负责把这些Layer按需混合处理后输出到Frame Buffer中,再由Display设备(屏幕或显示器)把Frame Buffer里的数据呈现到屏幕上。在ViewRootImpl调用view的draw方法之前创建的。canvas怎么来的,canvas是由surface创建的。
2024-06-19 18:32:32 431
原创 HarmonyOS-5(style样式)
假如你要用textview的一些特有属性得用,这个有一个区别就是 @Extend装饰器只能用于全局的方法,不能用于组件内方法。但是style装饰器封装的属性只能是公共的属性。
2024-04-17 16:54:50 235
原创 Scrollview的 一些简单介绍
与ScrollView相比,NestedScrollView的主要区别是增加了对嵌套滚动的支持。insideOverlay Overlay(覆盖的意思)在Scrollview内容的最右边, 不会改变改变padding的大小,浮在Scrollview内容view的上面,会遮挡内容view -这是Scrollview的默认的。insideInset 将滚动条插入到Scrollview内容的view的后面,会增大Scrollview的padding值的大小,但是会压缩Scrollview内容view的大小。
2024-02-21 10:38:31 1009
原创 待处理的研究内容
requestLayout会重新测量布局,走了ViewRoot的一系列方法,也会走。invalidate方法不会,因为不会走检测线程的方法。ViewRootImp的requestLayout()android之所以不能在子线程中更新Ui是因为。android是不是可以在子线程中更新UI。android的openGL 的学习。
2024-02-18 11:10:10 547
原创 Dialog被软键盘遮挡
有时候我们需要在dialog中有EditText,假如手机是横屏的话,软键盘可能会全屏显示,遮挡了整个界面,这个时候无论是设置。onEvaluateFullscreenMode()返回值会false即可。其实Editext为我们提供了解决方法的。
2023-08-02 16:27:31 765
原创 LiveData不走回调
新项目使用的LiveData这个框架,有一天发现LiveData注册的监听回调,永远只走一次,后面的都不走了,这个很奇怪。最后发现是try catch引起的。所以现在问题就很明确了,就是因为调用方法的 时候奔溃了,导致直接走了catch,后面的代码没有执行完,从而导致。debug后发现只要第一次奔溃后,后面永远都不会走这个回调。如下方法中标记所示,只有在整个方法执行完才会置为false。我们查看LiveData中分发事件的方法。并且debug在如下标记的位置,发现。我的代码大概如下所示:方法中使用了。
2023-03-22 16:53:22 1275
原创 伪类选择器(CSS-4)
伪类是一种专门标识元素的一种特殊状态比如:点击过的文本,获取焦点的文本框等等状态当我们需要为这些特殊状态设置样式的时候就用到了伪类
2022-03-28 10:20:51 314
原创 kotlin-----协程
【码上开学】Kotlin 协程的挂起好神奇好难懂?今天我把它的皮给扒了_哔哩哔哩_bilibili码上开学 ( kaixue.io ) 之:Kotlin 的协程第 2 期。看完有啥想法,来留言讨论啊!https://www.bilibili.com/video/BV1KJ41137E9?spm_id_from=333.999.0.0...
2022-02-23 17:51:57 397
原创 方便看github上项目部的神奇——octotree
我们在github上看源代码的时候会发现特别麻烦,没有一种树状结构,如下:点击预览的时候会跳转到下一个页面,很麻烦于是一款Chrome的octotree插件诞生了打开chrom——>更多工具——>扩展程序——>Chrome网上应用店——>下载安装就行安装好了后,打开github页面就变得如下:...
2021-12-08 17:27:20 162
原创 jvm-对象的创建和分配和垃圾回收
CAS (compare AND swap ) 机制:比较和交换机制,解决分配对象内存的并发问题分配内存的方式:指针碰撞和空闲列表以前的jvm是采用CAS解决线程并发的问题,但存在不断循环CAS浪费cpu,现在多采用给每个线程分配不同的内存地址...
2021-11-25 15:52:36 696
原创 Mac 每次都要执行source ~/.bash_profile 配置的环境变量才生效
解决方案:1,看下根目录是否有.zshrc文件,没有就新建个 touch .zshrc2,打开这个文件 open -e .zshrc3.在后面source ~/.bash_profile4,保存5,输入source .bash_profile6.重启终端就可以了
2021-11-08 15:25:41 853
原创 Android Studio Apk Analyzer
Android Studio提供了 Apk Analyzer功能,它能让你在编译安卓程序完成之后直接看到你的APK文件内部组成。作用:1.查看APK文件中包含的子文件以及大小2.理解DEX文件的组成3.快速查看一些文件的最终版本,比如AndroidMainfest.xml4.对两个APK进行并排视角的比较如何使用:Build——>Analyze apk 然后选中apk就行...
2021-11-01 14:50:28 1045 1
原创 CSS——position:relative和position:absolute
position:relative1. 如何定位?每个元素在页面的普通流中会“占有”一个位置,这个位置可以理解为默认值,而相对定位就是将元素偏离元素的默认位置,但普通流中依然保持着原有的默认位置。(在父级节点的content-box区定位,父级节点有文字的话,元素的默认位置则是紧随文字)2. 不会改变行内元素的display属性。3. 并没有脱离普通流,只是视觉上发生的偏移。position:absolute1. 如何定位浮动? 设置了TRBL 相对最近的设定了position:rel
2021-10-11 15:56:52 176
原创 RGB颜色
RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一 ------以上摘自百度...
2021-07-13 17:16:43 3754
原创 图片压缩(7)
如何知道一张图片占用内存的大小呢?bitmap的大小= 图片长度 x 图片宽度 x 一个像素点占用的字节数质量压缩:通过算法用什么来代替一个像素, 不影响 bitmap的大小那么,图片的长,宽,像素都不变,那么bitmap所占内存大小是不会变的图片的大小计算2、Bitmap.Config.ARGB_4444 表示一个像素占用2个字节,alpha(A)值,Red(R)值,Green(G)值,Blue(B)值各占4个bites共16bites,即2个字节数据存储是以“字......
2021-05-20 14:19:18 263
原创 Android studio控制台乱码
在运行Android studio的时候有时会遇到中文乱码的问题,如下图所示解决办法:在Android Studio中点击Help->Edit Custom VM Options... 就会出来studio64.exe.vmoptions这个文件,在这个文件的最后一行添加 :-Dfile.encoding=UTF-8然后保存,重启AS就好了...
2021-03-27 23:16:21 1619
原创 Vue如何在手机上调试
运行起Vue项目后,会显示如下- Local: http://localhost:18080 //连接本地 - Network: http://10.4.110.82:18080 //网络连接,这个会经常存在访问不了,不推荐使用1.手机线连接电脑2.127.0.0.1(本地地址):18080:18080 (端口)如果这一步还是不能访问的话,进行第三步3.adb reverse tcp:8000(端口号) tcp:8000这个cmd命令的意思是:Androi...
2021-03-12 16:07:18 1469
原创 Android的Glide
SimpleTarget simpleTarget = new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { } @Override ..
2021-02-24 17:37:11 540
原创 Android将base64图片保存到本地
Android将base64图片保存到本地 需求:将base64图片保存到图库,并且查看1. 第一步,因为是外部存储,所以需要动态申请权限 new RxPermissions(mActivity).request(Manifest.permission.WRITE_EXTERNAL_STORAGE)...
2021-02-24 17:23:51 3429
原创 Android studio如何查看本地数据库
android开发有时候涉及到本地存储的时候,需要用到数据库,当开发者需要查看本地数据库的内容时,就会发现非常麻烦。以前我觉得google在这一方面是完全没有倾听开发者的呼声呀!这是有多麻烦就有多麻烦,需要看有多麻烦的可以看我以前的这篇博客:查看数据库。好在google终于觉悟了,在最新的Android Studio 4.1当中终于内置了Database Inspector这个工具。现在就开始如何使用这个工具: 1.USB连接手机, View--->Tools Windows-->.....
2020-12-23 10:33:47 19146 8
原创 React项目如何修改默认的浏览器
React项目如何修改默认的浏览器用命令行生成的react项目默认是用IE浏览器打开的,这个时候对开发是很不友好的,这个时候如何修改浏览器呢?找到package.json 配置文件:修改start代码“scripts”: {“start”: " react-scripts start",“build”: “react-scripts build”,“test”: “react-scripts test”,“eject”: “react-scripts eject”},mack版“
2020-11-06 15:13:11 1866 6
原创 网页如何监听url是下载还是预览?
在Android开发的过程中,如何使用webview去加载网页时,有时候会设计到下载链接,这个时候可能会需要终端去下载,这个时候我们会设置 webView.setDownloadListener(new MyWebViewDownLoadListener()); 那么我们就会好奇,什么样的链接会走这个监听呢?这就涉及到了htttp的响应头的问题 Content-Type :表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为t...
2020-10-15 15:18:38 1238
转载 ReactNative的生命周期
总结:从图看:在React Native中,组件的生命周期大致可以分为3个阶段(实例化阶段,存在阶段,销毁阶段),其中最常接触的为实例化阶段,这个阶段负责组件的构建和展示的时间,需要我们根据几个函数的调用过程,控制好组件的展示和逻辑处理。1、实例化阶段函数功能分析① getDefaultProps:在组件中,我们可以利用this.props获取在这里初始化它的属性,由于组件初始化后,再次使用该组件不会调用getDefaultProps函数,所以组件自己不可以修改prop...
2020-09-18 10:42:22 500
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人