Android
liuhaha1015
多谢指导,多谢指正!
展开
-
android 监听webview 滑动方向以及是否滑动到顶部、底部
android 监听webview 滑动方向以及是否滑动到顶部、底部SwipeRefreshLayout 与webview 滑动冲突原创 2023-03-15 17:14:51 · 3911 阅读 · 1 评论 -
Android 判断View是否显示出现在屏幕上、判断View可视区域占其自身百分比
View是否显示出现在屏幕中原创 2022-10-25 18:50:45 · 2294 阅读 · 0 评论 -
Android View的可见性检查之 getLocalVisibleRect与 getGlobalVisibleRect
View可见性检查之 getLocalVisibleRect与 getGlobalVisibleRect原创 2022-10-24 18:57:14 · 3183 阅读 · 0 评论 -
Android 实现ProgressBar菊花旋转进度条的 效果(用于耗时loading时显示)
Android loading 加载 菊花旋转原创 2022-08-06 11:31:31 · 3100 阅读 · 4 评论 -
Android 类似Ios的时间滚轮控件
仿IOS时间选择器原创 2022-03-19 18:45:36 · 4398 阅读 · 1 评论 -
Android 自定义view 实现点击 展示下拉选项效果
下拉选择,popwindow原创 2022-03-17 19:05:56 · 4363 阅读 · 0 评论 -
Android 中奖滚动效果
自定义AutoPollRecyclerViewpublic class AutoPollRecyclerView extends RecyclerView { private long TIME_AUTO_POLL = 16; AutoPollTask autoPollTask; private boolean running; //标示是否正在自动轮询 private boolean canRun;//标示是否可以自动轮询,可在不需要的是否置false p原创 2022-03-17 17:45:10 · 3575 阅读 · 0 评论 -
Android 夜间模式实现
本次使用uiMode这种方式来实现~修改uimode是修改Configuration,这种主题切换只限于黑白模式,没有其他模式,不需要大量定义主题。1,需要做哪些准备2,如何实现3,有哪些优缺点一,需要做哪些准备1,app的module 引入implementation 'androidx.appcompat:appcompat:1.4.0',2,需要Activity须继承AppCompatActivity3,清单文件 设置主题 Theme.AppCom原创 2022-02-09 11:21:24 · 4288 阅读 · 0 评论 -
android 使用xml layer-list绘制阴影
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <padding android:bottom="2dp" ...原创 2021-11-22 16:45:59 · 2403 阅读 · 0 评论 -
Android NoConnectionError: java.io.IOException: Cleartext HTTP traffic to xxx not permitted 解决办法
问题原因是:Google表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nougat 和 Oreo 则不受影响。解决办法:1,采用HTTPS协议,就避免了未加密的请原创 2021-11-08 17:52:44 · 722 阅读 · 0 评论 -
java 中截取小数点后两位与 BigDecimal 的详解
本人常用到的保留两位小数:BigDecimal bigDecimal = new BigDecimal("11.12345");bigDecimal = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);OLogsProUtil.e("测试 保留两位小数 =" + bigDecimal);输出:测试 保留两位小数 =11.12为什么要用BigDecimal?一,项目如果需要保留几位小数时会用到二,做金融类的项目要求金额比较精确原创 2021-09-17 14:05:21 · 3893 阅读 · 0 评论 -
context.getExternalFilesDir()与返回的路径对照
从Android 10开始,对于数据访问权限要求的越来越严,app对于私有目录的使用越来越多,进而对context.getExternalFilesDir()的使用也多了,下面是对应传不同参获取的返回路径:getExternalCacheDir();路径为:/storage/emulated/0/Android/data/<应用包名>/cachegetExternalFilesDir(null);路径为:/storage/emulated/0/Android/data/<应.原创 2021-07-22 17:26:24 · 3566 阅读 · 1 评论 -
史上最全ConstraintLayout使用详解
原文:https://blog.csdn.net/javaniceyou/article/details/116922889?spm=1001.2014.3001.5501位置约束ConstraintLayout采用方向约束的方式对控件进行定位,至少要保证水平和垂直方向都至少有一个约束才能确定控件的位置基本方向约束比如我们想实现这个位置,顶部和界面顶部对齐,左部和界面左部对齐:<?xml version="1.0" encoding="utf-8"?&g...转载 2021-07-08 15:46:15 · 1087 阅读 · 0 评论 -
android Studio 自动修改打包的apk名称
applicationVariants.all { variant -> variant.outputs.all { if ('release' == variant.buildType.name) { outputFileName = "MyProject_v${variant.versionName}_${releaseTime()}.apk" } }}项目名+版本号+打包时间...原创 2021-07-02 10:39:26 · 294 阅读 · 0 评论 -
下拉刷新与RecyclerView 滑动冲突(SwipeRefreshLayout与RecyclerView 滑动冲突)
SwipeRefreshLayout 嵌套RecyclerView 在下滑上滑的时候,有时会互相冲突。先说网上的解决方式是:给RecyclerView 添加滑动监听(addOnScrollListener),在onScrolled里获取第一个item的top,当上下滑动时top只为负数,当第一个item完全展示出来时top为0。当top为0时。说明滑动到头了,再把SwipeRefreshLayout的Enabled设置为true......RecyclerView 的id是home_rec...原创 2021-06-26 18:07:07 · 1117 阅读 · 0 评论 -
Android 设置状态栏背景颜色和状态栏文字、图标颜色
纯抄的,原文:https://www.jianshu.com/p/5a54b2c3ea05转载 2021-06-08 17:24:46 · 2568 阅读 · 1 评论 -
android 打开相机拍摄照片(包含动态权限、部分手机图片旋转、压缩)
用手机拍摄照片,在android6.0以后需要动态获取权限,部分手机还会出现拍摄完后图片旋转90的问题,比如三星、小米有的机型都会旋转。。。拍摄完的照片还需要压缩后才能上传原创 2021-05-31 18:27:31 · 485 阅读 · 3 评论 -
Android 三星Galaxy A50 横屏拍照后数据为空
横屏拍照上传,在其他手机上一切正常,但是在三星手机上出现空的问题,之前设置的保存图片路径也置为了空字符串。。。是因为使用startActivityForResult 启动相机后原创 2021-05-31 10:44:54 · 252 阅读 · 0 评论 -
Kotlin中三元运算符
Java中三元运算符int a = 10;int b = 11;int c = a > b ? a : b;kotlin中val a = 10val b = 11val c = if (a > b) a else b原创 2021-04-19 18:31:53 · 19065 阅读 · 0 评论 -
Android高版本联网失败报错:Cleartext HTTP traffic to xxx not permitted解决方法
原文:https://blog.csdn.net/gengkui9897/article/details/82863966前言:为保证用户数据和设备的安全,Google针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 And转载 2021-04-09 10:07:35 · 685 阅读 · 0 评论 -
Android Studio 4.1 写代码时不自动报错,不提示
原文:https://blog.csdn.net/mp624183768/article/details/109262993解决删除这个目录重启 studioC:\Users\86182\AppData\Roaming\Google\AndroidStudio4.1\plugins原文说的是删除。我没有直接删除,而是放到了其他盘符。。。。。等studio重新启动完后又放了回来。。。。也能正常用...原创 2021-04-08 18:11:23 · 370 阅读 · 1 评论 -
Android打包报错:Lint found fatal errors while assembling a release target.
项目打正式包报错:logcat,build里面都没有啥有用信息。不知所措~~,百度后发现解决办法,错误信息在这里:app/build/reports/lint-results-release-fatal.html文件里面详细记录了报错的具体信息,可以用浏览器把它打开,看报错信息~~例如:我的报错显示:意思是我写的布局第38行 约束无效。。。。检查发现 我命名的这个id的控件删掉了,现在就没有。。。把这个无效的代码去掉,重新打包就可以了!...原创 2021-03-15 16:39:37 · 114 阅读 · 0 评论 -
UI布局ScrollView+RecyclerView自动往上滑动显示到RecyclerView底部
解决方法就是在根布局设置android:descendantFocusability="blocksDescendants" ;android:descendantFocusability 有三种值:beforeDescendants:viewgroup会优先其子类控件而获取到焦点afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点blocksDescendants:viewgrou...转载 2021-02-26 12:39:03 · 283 阅读 · 0 评论 -
android修改progressbar背景颜色跟进度条颜色
1,先定义一个progress.xml的drawableshape的属性,不熟悉的,网上有很多教程。 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@android:id/background"> &...原创 2021-02-22 14:44:27 · 874 阅读 · 0 评论 -
当Activity嵌套Fragment,当fragment可见时再进行某些操作
遇到的问题:Activity 使用viewpager 嵌套 fragment ,在启动activity时viewpager 会自动加载下一页,会把下一个fragment加载完,但是再次点击切换时不特殊处理,fragment不会再进行加载操作。想在Fragment的onResume再次进行加载,但是这个方法已经在activity启动时执行完。。。。处理方法:重写fragment的setUserVisibleHint()方法override fun setUserVisibleHin.原创 2021-02-10 17:29:10 · 296 阅读 · 0 评论 -
Android 嵌套webview 软键盘弹出遮挡H5输入框
检查你的实现方式:1)加载WebView的Activty不能设置为全屏模式,即Theme.NoTitleBar.Fullscreen,可以使用Theme.Holo.Light.NoActionBar2)沉浸式状态栏的实现方式,在Activity的根布局里加两个属性:android:clipToPadding=“true” 设置你的绘制区域在padding里面android:fitsSystemWindows=“true” 调整view的padding属性为系统窗口 留出空间在Activi原创 2021-02-09 17:44:10 · 980 阅读 · 0 评论 -
Android加载 WebView遇到net::ERR_CLEARTEXT_NOT_PERMITTED的错误
原文:https://blog.csdn.net/weixin_40763897/article/details/100772204?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.con转载 2021-01-16 10:25:53 · 529 阅读 · 1 评论 -
Android 集成友盟统计
先在友盟上创建一个产品,友盟官方网址选择上面的产品->移动统计,在页面里点击进入新版创建完成后就会产生我们需要的appkey现在开始集成在项目的build.gradle里添加allprojects { repositories { google() jcenter() maven { url 'https://dl.bintray.com/umsdk/release' }//添加这一个 }}现在在modul转载 2020-12-29 10:44:37 · 465 阅读 · 0 评论 -
Android 9.0 用WebView加载Url时,显示页面无法加载
低版本Android 没问题,可以正常加载,9.0在webview里面不行,但是在浏览器里可以,webview里面显示:看了Android 9.0新特性才知道,原来9.0系统已经默认不支持http请求了,谷歌默认要求链接是加密链接了。要解决这个问题有以下三种方案,也适用于http无法访问网络的问题:1.将url路径的地址由http改成https,这就需要让后台大佬更改了。2.将targetSdkVersion 改成27或者以下。3.既然默认情况下禁用明文支持,那我们就手动设置启动支持明文,原创 2020-12-07 16:38:28 · 1143 阅读 · 0 评论 -
类似微信、简单Android UI基础框架(ViewPager结合Fragment实现)
下方是RadioGroup 点击时使用选择器,来修改背景图片和文字颜色<RadioButton android:id="@+id/home_page_rb" style="@style/tab_menu_item" android:background="@drawable/tab_line" android:checked="true" android:drawableTop="@drawable/tab_menu_page_home" an..原创 2020-11-23 18:10:38 · 375 阅读 · 0 评论 -
使用Fastjson把list转化为json时出现“$ref: “$.list[0]“、“$ref“: “$[0].xxx“的问题
要将List转化为json,list里面是一个个的对象,每个对象里面又包含一个对象,在使用Fastjson转化的时候出现:JSONArray.toJSONString()需要的格式是上面的那种,实际入库的却是标红的。。原因:百度后查到原因是因为Fastjson循环引用造成的循环引用:当一个对象包含另一个对象时,fastjson就会把该对象解析成引用。$ref 标示的,下面是引用的描述"$ref":".." 上一级"$ref":"@" 当前对象,也就是自引用"$ref":"原创 2020-11-23 11:14:17 · 674 阅读 · 0 评论 -
Android 日期转为为毫秒,毫秒转化为日期,获取当期日期年、月、日
//将时间毫秒值转化为年月日val date = Date(System.currentTimeMillis())val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault())val dateStr = simpleDateFormat.format(date)OLogsProUtil.e("测试:" + dateStr)//将日期转化为毫秒值val simpleDateFormat1 = Si.原创 2020-09-28 13:49:06 · 2160 阅读 · 0 评论 -
Android 项目生成证书指纹(MD5、SHA1、SHA256)
Android Studio里面在 下方Terminal 输入:keytool -list -v -keystore 你的jks文件路径例如:keytool -list -v -keystore C:\XXproject\xxDemo\myproject.jks然后输入jks密码:结果:原创 2020-09-09 11:19:16 · 2098 阅读 · 0 评论 -
Android ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view..
ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.意思是:只能在主线程更新UI~~解决办法,参考:Android切换主线程更新UI方法总结原创 2020-07-06 16:55:42 · 785 阅读 · 0 评论 -
Android集成Facebook 事件统计
1,项目级别的gradle:buildscript { repositories { ... //Facebook mavenCentral() ... }}2,app级别的gradle: implementation 'com.facebook.android:facebook-android-sdk:[5,6)'3,清单文件<meta-data android:name="com...原创 2020-06-25 17:57:03 · 2091 阅读 · 1 评论 -
AppFlyer集成及自定义埋点
gradle引入://apps flyerimplementation 'com.appsflyer:af-android-sdk:4.9.0'implementation 'com.android.installreferrer:installreferrer:1.0'涉及到的权限:<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name.原创 2020-06-25 14:31:28 · 4124 阅读 · 0 评论 -
Android 动态申请单个权限、多个权限
String[] permissions = new String[]{ Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE};// 声明一个集合,在后面的代码中用来存储用户拒绝授权的权List<String> mPermissionList = new ArrayList<&g...原创 2020-06-17 18:28:36 · 287 阅读 · 0 评论 -
Android 动态申请权限
private static final String[] PERMISSION_EXTERNAL_STORAGE = new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE};private static final int REQUEST_EXTERNAL_STORAGE = 100;/** * 检查权限方法 */private v.原创 2020-06-17 17:17:36 · 1042 阅读 · 0 评论 -
SpannableString 可实现效果展示
原文:https://blog.csdn.net/u012551350/article/details/51722893(SpannableString 你应该知道的那些效果显示)读完发现实际中很实用,在此记录学习。----------------------------------------------------------前言上次看到一款学习的 App,有这样一个功能,在一个 TextView 中有一段英文,点击英文单词通过语音朗读出来。语音先不考虑,怎么去实现 TextVi.转载 2020-06-15 11:43:27 · 327 阅读 · 0 评论 -
Viewpager结合Fragment实现滑屏切换,登陆注册
viewpager结合Fragment实现滑动效果每个fragment里面有一个EditText,EditText里面是数据可以随着Fragment的切换携带过来布局:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android...原创 2020-06-12 19:27:26 · 547 阅读 · 0 评论