自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android 11 toast居中显示

Android 11以后,系统Toast的text toast被设置为固定在屏幕下方显示,通过setGravity已经不会生效。为了解决这个问题,去看了Toast源码。从show()方法开始, /** * Show the view for the specified duration. */ public void show() { if (Compatibility.isChangeEnabl...

2021-07-27 17:12:18 6024 6

原创 用Activity实现弹窗

其实用dialog是最方便的,但组长说不想在一个Activity里写太多代码,原来的代码已经很乱了。。。没办法,前人留下的代码的确有点多,新加的只能在另外的Activity里写了,而且,它在这个弹窗里加的操作也太多了吧,有谁会在一个弹窗里又加列表,又加viewPager又加按钮的?咱也不敢说,咱也不敢问。业务逻辑这里就不写了,简单记录一下自己用Activity实现的弹窗效果吧。其实大家都是窗口...

2020-04-02 20:22:56 872

原创 SpanableString 一些常用方法的使用记录

最近登录页要给个什么隐私政策的提示,蓝白下滑线混合在一起,因为不想写几个TextView(主要是单个TextView会换行不好看),所以用了SpannableString,顺便就跑来这里记录一下一些比较常用的实现后续操作都是在这个基本代码的基础上写的TextView tvMessage = (TextView) findViewById(R.id.tvMessage);Spannabl...

2020-04-01 18:13:33 468

原创 android file.mkdir()一直返回false问题

今天想写本地日志,结果写文件的时候一直失败,报FileNotFound错误,很明显,就是文件创建失败的问题了,debug了一下,发现在file.mkdirs()就出问题了(这个方法相对file.mkdir()还多了检测是否存在,偷懒必备),检查了一下,发现权限都没有问题,跑去developer看一下,发现现在不能直接用这个来创建路径或文件了...

2020-03-19 20:21:31 2566

原创 No drawer view found with gravity RIGHT抽屉布局打开抽屉报错

很久没有用drawerLayout写布局,今天想偷一下懒,直接用drawerlayout实现侧滑就算了,万万没想到,报了这个错误,因为现在项目用的是androidX,我还一度以为androidX的drawerLayout改了,因为我打layout_gravity时AS并没有自动补全,我手动输还提示红色。 解决方法,还是在布局文件,也就是xml文件里加上layout_g...

2020-03-11 17:04:27 734 1

原创 一个简单的滑动显示demo

之前无聊的时候写的一个滑动demo,用的是根据滑动距离计算位置重新布局的方式,在这里分享一下话不多说,先上效果图可能看上去有点卡顿,其实是我主要是想表达拉到一点点,然后松开,可以直接恢复下面就是上代码了基类package cn.ALeeCJ.learningproject;import android.app.Activity;import android.os.B...

2020-03-06 17:31:08 342

原创 com.android.ide.common.process.ProcessException: Return code 1 for dex process

android studio编译遇到的一个问题,百度很久获得的都说是.9.png的图片导致的问题,经检查的确存在.9.png文件,但根据网上说的方法,甚至把图片都删除了,还是报一样的错误,最后直接把gradle版本提高到classpath 'com.android.tools.build:gradle:3.4.2',gradle-wrapper修改为distributionUrl=...

2020-03-05 19:08:21 523

原创 Android Studio 同一个package也关联不上类问题解决

今天打开项目,发现即使在同一个package内,代码里一堆的内还是显示红色(按着ctrl,鼠标指向该类,还是提示Cannotresolve symbol 'XXX'),关掉AndroidStudio重启也没有修复,最后发现直接Invalidate caches / Restart就可以了,具体位置为File ->Invalidate caches / Restart截图如下...

2020-02-14 10:20:56 896 3

原创 Intent里封装序列化数据,跳转后数据丢失问题

从Activity A跳转到Activity B,用intent封装了一份序列化数据,跳转后在B调用getIntent()或者getIntent().getExtras()后,获取对应key发现获取结果为空。示例代码如下//Activity AIntent intent = new Intent(A.this, B.class);Bundle bundle = new Bundle(...

2020-01-19 16:37:52 1011

原创 调用startActivityForResult后直接产生onActivityResult回调问题

之前遇到调用startActivityForResult后,即时我跳转界面还没有返回,还是几乎调用startActivityForResult后马上就调用onActivityResult的情况,在网上找了很长时间的解决方法,都没有什么效果,自己思考后想了两个方案,一个是重写onResume方法,一个是判断当前应用是不是出于foreground(因为我是跳转其他应用的),今天突然又写了一次调用其他a...

2020-01-14 13:58:56 1308 1

原创 Android 统一support版本,解决版本冲突

configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == 'com.android.support') { ...

2020-01-03 17:19:25 742

原创 Android部分手机报 解析包时出现问题 原因与解决方法

首先,部分手机,尤指华为手机,特别是最近华为很多手机都开始升级上Android10,问题爆发尤其之多,在这主要讲一下跳转安装界面,然后报 解析包时出现问题 的几个原因和问题解决方法。说明一下,我用到跳转安装的方法是比较大众的,就是低版本就直接uriFromFile,AndroidN以上就用FileProvider的方式,这个方法网上一搜一大堆,我就不多说了。原因1.安装包不存在很坑的一个地方...

2020-01-03 14:57:39 7428 1

原创 Android 5G判断

之前需要用到5G网络信息,花了很长时间才去研究怎么判断是否是5G信号,但无论是官方说明的CellInfoNr,CellIdentityNr,CellSignalStrengthNr,最后连一个网络连接callback都用过了,在华为mate30 5G版上拿到的都是LTE(13),真的是心态爆炸。一次偶然的机会看到ServiceState类,发现它有一个getNrState的方法,查了一下,返回...

2019-11-22 14:45:34 4107 14

原创 Android问题记录1:悬浮窗问题

一般用到的方式是WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);//获取WindowManagerWindowManager.LayoutParams wlp = new WindowManager.LayoutParams();//悬浮窗参数,悬浮窗显示后变...

2019-11-15 16:02:39 279

原创 Android多module初始化application

开始之前,顺带提一下一个小知识,那就是:在Application里,attachBaseContext()方法的执行顺序是在onCreate()之前的下面开始说明Android中,多个module是怎么初始化application,让module的application拥有实例的。方法说起来很简单,就是使用反射。因为软件打开的时候,只会初始化主工程的application(打开主工...

2019-09-11 10:15:46 3157 3

原创 Java子类继承父类的一个小坑

我遇到的这个小坑就是,在调用构造方法的时候,子类(派生类)重写了父类构造方法中的方法,会出现没有初始化值得问题。可能我描述的不是很清楚,直接上代码看得清晰一些。 父类package cn.ALeeCJ.learningproject.JavaLearning;import android.util.Log;public abstract class ...

2019-08-22 14:01:02 516 1

原创 Android简单动画小记

只是单纯的记录一下简单动画的其中一种实现方式首先,在anim文件夹创建动画xml文件,例如show.xmlshow.xml内容<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:durat...

2019-08-07 17:55:25 336

原创 ListView,ScrollView嵌套滑动冲突问题,子view包含EditText等

之前写过ListView和ScrollView嵌套滑动冲突问题,最近刚好遇到ListView的子View包含可以获取焦点的情况,这种情况下只是单纯的给ListView设置onTouchListener会经常失效,也就是滑动冲突重新出现了。经过同事提点,我自己也测试了一下,解决滑动冲突的成功率果然提高了很多,话不多说,赶紧分享一下。最开始解决冲突的方式:listView.setOnTouc...

2019-07-08 14:38:58 221

原创 ListView和ScrollView嵌套解决滑动冲突问题

首先,说明一下,我这里的ListView和ScrollView都是上下滑动的,如果是左右滑动,虽然差距不大,但就不能直接生搬硬套了。1.解决ListView和ScrollView嵌套滑动冲突问题当ListView放在ScrollView的布局中间,直接实现ListView的setOnTouchListener就可以了listView.setOnTouchListener(new Vi...

2019-07-04 17:42:42 2145

转载 最低级的检测二次打包方法,通过SHA1

//这个是获取SHA1的方法 private static String getCertificateSHA1Fingerprint(Context context) { //获取包管理器 PackageManager pm = context.getPackageManager(); //获取当前要获取SHA1值的包名,也可以用其他的包名...

2019-06-18 17:19:57 516

转载 检测设备是否为模拟器,是否root,禁止截屏

下面的方法基本上都是网上找回来的,全部亲测可用,但部分来源已不可查,记得的都已经加上转载链接1.检测设备是否为模拟器public static boolean isEmulator(Context context){ Context baseContext = context.getApplicationContext(); String url = "te...

2019-06-11 16:29:38 3014

原创 ScrollView包裹ExpanableListView显示不全问题,简单有效的解决方法

最近需要搞一个三级菜单,最开始是打算用ExpandableListView包裹ExpandableListView实现的,粗略写完后发现直接崩溃了,方法应该是可以的,但还需要时间去调试,因为时间有点赶,我就直接用了ScrollView和ExpandableListView搭配,通过addView的动态方式,算是实现了这个三级菜单,因为这个方式View的可复用性实在太差,我做完也没有花...

2019-06-06 10:44:18 307

原创 ExpandableListView设置group和child高度大小没效果解决方法

平时ExpandableListView我用到的机会不是很多,最近刚好用到了,给ExpandableListView配置groupItem和childItem的时候,发现自动配的高度太小了,所以直接配置了一下<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas...

2019-06-06 10:25:04 1631

原创 通过三方库LeakCanary查看内存泄漏

可能大家都用过了,我这里只是做记录一下首先,引入LeakCanary在项目build.gradle中加入dependencies { debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3' releaseImplementation 'com.squareup.leakcanary...

2019-05-23 11:46:38 977

原创 设置所有Activity界面初始为无标题界面 + 单个界面无标题

实际开发中,Activity界面都是想连标题也是自定义的,但是对于新建的项目来说,肯定是带有贼丑的标题栏的,因此就需要把这个标题栏去掉,然后根据需求自定义标题这里要说一下的就是简单去掉新项目带有的标题栏首先打开项目AndroidManifest找到application按着ctrl键,鼠标左键点击theme对应的AppTheme,就会跳转到主题自定义style位置当然,你也可以直接去资源...

2019-05-23 10:37:48 296

原创 org.gradle.api.tasks.TaskExecutionException: Execution failed for task 编译不通过,十分有用的查找问题方法

平常使用AndroidStudio的时候,很容易会遇到如下这种编译不通过的情况很多时候,我们即使去compiler error output查看,也很难看出问题出现在哪,这个时候就要用到我将要介绍的方法。具体步骤如下:在AndroidStudio的右侧找到Gradle,选择项目app,点开然后双击build,之后就会出现下面的结果然后你就可以看到出现错误的地方在哪了,直接点击链接...

2019-05-08 17:52:59 2785

原创 onWindowFocusChanged方法的简单学习

完整的方法应该是@Overridepublic void onWindowFocusChanged(boolean hasFocus){}这个方法的说明官方文档/** * Called when the current {@link Window} of the activity gains or loses * focus. This is ...

2019-04-03 13:42:06 936

转载 AS布局文件加载异常问题

问题背景今天上午打开AS后突然发现所有xml界面无法预览,打开class文件也发现从头到尾全是错误,在class文件界面上方提示No IDEA annotations attached to the JDK 1.8 (C:\Program Files\Android\Android Studio\jre)…头一次遇见这个问题,只好百度,最后在stackoverflow找到一个解决方案,试了一试...

2019-02-26 11:25:46 546

原创 靠近息屏的简单使用

private PowerManager.WakeLock powerWakeLock;//注意这个tag内容一定要有":",不然后说你的tag不够uniqueprivate final String powerTag = "PowerManagerWakeLock:MYTAG";在onCreate()里if(Build.VERSION.SDK_INT &gt;= Build.VER...

2019-02-25 14:14:15 554

原创 AlarmManager简单用法记录

Intent intent = new Intent(context, MyBroadcastReceiver.class);PendingIntent pi= PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);AlarmManager alarmManager = (Alarm...

2019-02-21 20:13:41 282

转载 跳转设置的intent收集

红色字体为需要传参,且参数为package:XXX (包名) Intent 界面 ACTION_SETTINGS 系统设置界面 ACTION_APN_SETTINGS APN设置界面 ACTION_LOCATION_SOURCE_SETTINGS 定位设置界面 ACTION_AIRPLANE_MODE_SETTINGS  无线和网络设置界面 ...

2019-01-31 11:24:57 595

原创 Android Studio 无设备打包与有设备打包小记

1.无设备打包(电脑没有连接手机设备或模拟器)Android如果没有在项目build.gradle配置打包密钥这些的时候,打包方式为Build里的Generate Signed Apk然后配置密码直接打包就可以了如果在项目build.gradle配置了打包密钥这些,例子如下signingConfigs { debug { storeFile file(...

2018-09-30 17:51:16 719

原创 Android 线程通信,初见

Android 主线程与子线程之间的通信,子线程与子线程之间的通信1.主线程发消息,子线程执行操作其实一般情况下,主线程执行完所有必备逻辑后,再直接new Thread().start();(注意,没考虑内存泄漏),因为我们一般没有必要让子线程一直卡在某一步,等待消息后才执行,如果子线程不卡着,子线程执行完后自动结束。当然,新start的Thread我们要确定它什么时间执行还是比较麻烦的。...

2018-09-06 20:31:30 979

Android ijk播放器编译的so包,支持https协议,支持mpg,avi,wmv等等

ijk自定义的编译包,增加支持https协议,增加额外的视频编码格式,mp2* flv* wmv* wmav*

2020-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除