
android基础
文章平均质量分 51
沙滩捡贝壳的小孩
所有努力都会一点一点汇聚,最终实现一点突破
展开
-
Android 基本属性绘制文本对象FontMetrics
4. Leading文档说的很含糊,其实是上一行字符的descent到下一行的ascent之间的距离。6. 同上,bottom指的是最下字符到baseline的值,即descent的最大值。5. Top指的是指的是最高字符到baseline的值,即ascent的最大值。3. Descent是baseline之下至字符最低处的距离。2. Ascent是baseline之上至字符最高处的距离。1. 基准点是baseline。原创 2023-11-12 23:59:56 · 550 阅读 · 0 评论 -
Android通过包名启动其他应用,若该应用已启动,则直接将应用切到前台
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packName); context.startActivity(intent);原创 2023-06-27 10:31:12 · 625 阅读 · 0 评论 -
Android 12 自动适配 exported 深入解析避坑
众所周知,从 Android 12 开始,使用了 TargetSDK 31 之后,四大组件如果使用了 intent-filter,但是没显性质配置 exported App 将会无法安装,甚至编译不通过。比如启动的 Activity 就需要设置 exported 为 true,至于其他组件是否设置为 true 则看它是否需要被其它应用调用。然而这个事情的状态是这样的:如果出现问题的 AndroidManifest 文件是您本地的,那手动修改即可;原创 2023-02-08 16:58:40 · 2173 阅读 · 0 评论 -
SingleTop失效的解决方法
【代码】SingleTop失效的解决方法。原创 2022-12-29 00:39:00 · 955 阅读 · 0 评论 -
android国际化-判断国家
根据SIM卡获取国家,为啥不用IP呢,因为是防止那些人用VPN的,那些用VPN的话,IP也会跟着变的,不太准确,然后定位这个鬼你们懂的,也不太准确 Locale.getDefault().getCountry();百度不是说用这个来获取国家,结果发现在我那个小米10手机上,获取国家为空,所以果断放弃TelephonyManager telManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);..原创 2021-09-02 20:57:01 · 2137 阅读 · 0 评论 -
android 四大组件作用及相关知识点补充
今天被面试官被BB了,知道andorid四大组件把,知道为啥是四大组件,为啥不是3大组件,2大组件,然后我说,这,,不是就跟你有2个手一样嘛,回去后仔细想想,他面试官是不是要问我这4个的作用呢首先学android的都知道四大组件是activity,service,BroadCastReceive,ContentProvide;Activity具体可结合Activity中常用知识点总结去看,这里只是做个简单的概括是一种展示型组件,主要是向用户展示一个界面,接受用户输入的信息和用户进行交原创 2020-09-08 23:53:49 · 463 阅读 · 0 评论 -
Intent中的Action、Category
1、Action:该标识用来说明这个activity可以执行哪些动作,所以当隐式intent传递过来action时,如果跟这里<intent-filter>所列出的任意一个匹配的话,就说明这个activity是可以完成这个intent的意图的,可以将它激活!常用的Action如下所示:ACTION_CALLactivity启动一个电话.ACTION_EDITactivity显示用户编辑的数据.ACTION_MAINactivity作为Task中第一个Act...原创 2020-09-08 22:35:46 · 1156 阅读 · 0 评论 -
ComponentName使用
ComponentName:可以启动其他应用的Activity、Service.ComponentName chatActivity =new ComponentName(param1,param2);param1:Activity、Service所在应用的包名param2:Activity、Service的包名+类名Activity: ComponentName chatActivity =new ComponentName("com.npf.chat", "com.n转载 2020-09-08 22:11:48 · 431 阅读 · 0 评论 -
IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling
错误截图:发生场景:recycleVIew调用checkbox进行onCheckChange或者onClick的时候进行adpate刷新会出现这个错误原因:其中在RecyclerView源码中找到错误日志中提到的assertNotInLayoutOrScroll方法看一下:然后在看看isComputingLayout方法,可以看到通过上面的注释我们知道当这个方法返回值为true时,RecyclerView会处于锁定状态,这时任何尝试更新Adapter内容的方法都将导致原创 2020-09-05 00:35:21 · 3978 阅读 · 0 评论 -
shape的骚操作(持续更新ing)
1.绘制边框时显示任意一边比如绘制一个边框,要求底部,头部,右边没有边框,那么代码如下:<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:bottom="-1dp" android:top="-1dp" and...原创 2020-07-08 19:59:07 · 387 阅读 · 0 评论 -
ScrollView嵌套EditText的滑动冲突问题
这个冲突来由主要是EdiText文字输入过多的时候,需要上下滑动查看时出现的,产品又没要求说点开个大屏幕给你写,然后父布局又是个ScrollView,然后就出现滑动冲突了,滑动冲突这个知识点,讲起来,其实得从Android 事件分发这个里头开始讲起,哈哈,打了一波王婆卖瓜,贼开心,解决方法也很简单,直接上代码: editText.setOnTouchListener(new View.OnTouchListener() { @Override publi原创 2020-06-29 23:52:36 · 650 阅读 · 0 评论 -
android 加载长图
丢,这个问题纠结老长时间了,后面还是没百度,自己瞎琢磨弄出来,感觉自己棒棒的1.自定义View的方法,详情查看弘扬的博客,百度上广为流传的方法,额,这块得要在滑动这块处理下,要不然给人感觉是上下滑动时整体特别卡顿的,反正我比较渣,这块我没搞好。哈哈,贴出这份百度上广为流传的代码import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import原创 2020-06-14 19:04:56 · 305 阅读 · 0 评论 -
ImageView src与setBackground的区别
半夜在调试ImaView用ValueAnimator实现一个动效的时候发现一个问题,我那个图片始终都无法在固定位置移动,因为我那个代码是已经设置了只有top的部分才能移动的,但是它就是不能移动,后面再同事的提醒下,才想起来有这2个区别,就写篇博客记录下,防止下次还踩坑区别:1、 background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸,如果想要对src进行拉伸的话,使用android:scaleType2、 src是图片内容(前景),bg..原创 2020-06-06 01:09:58 · 510 阅读 · 0 评论 -
Android 事件分发机制(1)-源码分析
1.准备知识要弄明白事件分发,首先得知道这么几个知识点,1.1 activity,window,DetorView,ViewGroup这几个之间的关系大概关系如图:其中DecorView本身是继承至FrameLayout的,如图:它本来就是一个ViewGroup来的,window本身是一个抽象类,PhoneWinodw是唯一实现类,如图:1.2事件分发的对象是谁分发对象是MotionEvent,它是当用户点击屏幕里View或者ViewGroup的时候,将会产生..原创 2020-05-22 01:15:35 · 569 阅读 · 0 评论 -
删除项目上的git信息
rm -rf .git原创 2020-05-21 02:48:55 · 922 阅读 · 0 评论 -
Android studio生成SDK
首先得知道个知识点.jar文件和.aar文件的区别*.jar文件只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件.aar文件包含所有资源,class以及res资源文件全部包含;如果你只是一个简单的类库那么使用生成的.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。将 .aar文件解压之后,解压文件中包括 .jar文件,如果当前的 .aar文件不包含控件布局,可以直接使用其中的 .jar文件步骤原创 2020-05-17 22:40:48 · 1691 阅读 · 0 评论 -
Android开发优化之的强引用、软引用、弱引用的使用
本文章转https://www.jianshu.com/p/8488079a939b 引言 早在JDK1.2,Java就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。但是平时我们的代码中似乎很少出现这些, 而之前还看到过一份代码中, 一个Activity中有一个静态变量持有对自己的弱引用,来达到类似的singleTask的效果.So, 是时候系统的学习一下软引用、弱引用这些,并对我们的代码进行优化了. 强引转载 2020-05-17 15:11:50 · 219 阅读 · 0 评论 -
!全国网友都惊呆了,Activity横竖屏切换生命周期变化
测试环境:1. VIVO Y85,额,穷呀,android 8.1.02.夜神模拟器 Android 5.1.1先上代码:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConte原创 2020-05-12 17:25:11 · 176 阅读 · 0 评论 -
android中的asset文件和raw文件
一.Assets文件:Android 中资源分为两种,一种是res下可编译的资源文件, 这种资源文件系统会在R.Java里面自动生成该资源文件的ID,访问也很简单,只需要调用R.XXX.id即可;第二种就是放在assets文件夹下面的原生资源文件,放在这个文件夹下面的文件不会被R文件编译,所以不能像第一种那样直接使用.Android提供了一个工具类,方便我们操作获取assets文件下的文件:A...原创 2020-03-03 00:06:35 · 3244 阅读 · 0 评论 -
安卓中进程与线程通信之handle处理消息机制
在Android程序运行中,线程之间或者线程内部进行信息交互时经常会使用到消息,如果我们熟悉这些基础的东西及其内部的原理,将会使我们的Android开发变的容易、可以更好地架构系统。在学习Android消息机制之前,我们先了解与消息有关的几个类: 1.Message 消息对象,顾名思义就是记录消息信息的类。这个类有几个比较重要的字段: a.arg1和arg2:我们可以使用两个字段用来存放我们...原创 2018-06-27 22:37:07 · 426 阅读 · 0 评论 -
fragment相关知识点总结
一、目录什么是FragmentFragment的生命周期Fragment的使用方式什么是Fragment的回退栈?【重要】Fragment与Activity之间的通信【难点】Fragment与Activity通信的优化【超难点】如何处理运行时配置发生变化【以屏幕翻转为例】二、Fragment详解1. 什么是Fragment ?你可以简单的理解为,Fragment是显示在Activity中的Acti...转载 2018-06-27 18:56:17 · 352 阅读 · 0 评论 -
Activity中常用知识点总结
转至https://github.com/LRH1993/android_interview/blob/master/android/basis/activity.md,然后基于自己理解给改了点东西一、Activity的生命周期本节内容将生命周期的情况分为两部分介绍,第一部分先了解典型的生命周期的7个部分及Activity的状态。第二部分会介绍Activity在一些特殊情况下的生命周期的经历过程。...原创 2018-06-26 18:22:26 · 884 阅读 · 0 评论