android相关
小蜗牛在漫步
做一个兴趣广泛,有情趣的工程师
展开
-
解决NestedScrollView、ScrollView加载完自动滑动至顶部或底部问题
很多小伙伴在使用以上两个布局时都会遇到切换用NestedScrollView 或ScrollView作为外层布局的页面时,内容自动上移了。上移的原因是NestedScrollView或ScrollView或自动滚动到获取了焦点的child view的位置。NestedScrollView、ScrollView内容上移原因。通过让其获取焦点来解决该问题。原创 2023-01-06 17:08:51 · 1435 阅读 · 1 评论 -
android textview限制显示几行+省略号
【代码】android textview限制显示几行+省略号。原创 2023-01-06 14:52:15 · 418 阅读 · 0 评论 -
Android提高Webview网页加载速度的方法
Android提高Webview网页加载速度的方法原创 2022-10-28 10:23:46 · 1905 阅读 · 0 评论 -
ViewPager + Fragment 数据刷新问题
【代码】ViewPager + Fragment 数据刷新问题。原创 2022-09-16 15:23:06 · 568 阅读 · 0 评论 -
用Gson解析数据为map,int值变double值问题
代码】用Gson解析数据为map,int值变double值问题。原创 2022-08-02 16:33:08 · 670 阅读 · 0 评论 -
Git中submodule的使用
面对比较复杂的项目,我们有可能会将代码根据功能拆解成不同的子模块。主项目对子模块有依赖关系,却又并不关心子模块的内部开发流程细节。这种情况下,通常不会把所有源码都放在同一个 Git 仓库中。有一种比较简单的方式,是在当前工作目录下,将子模块文件夹加入到 文件内容中,这样主项目就能够无视子项目的存在。这样做有一个弊端就是,使用主项目的人需要有一个先验知识:需要在当前目录下放置一份某版本的子模块代码。还有另外一种方式可供借鉴,可以使用 Git 的 功能,也是这篇文章的主题。实际上 Git 工具的 功能就是原创 2022-07-14 14:37:04 · 7452 阅读 · 0 评论 -
SeekBar设置android:thumb显示背景色
shape_progress_bgshape_progress_handlethumb图片显示背景色,使用android:splitTrack="false"即可。如果SeekBar 设置thumb 图片后,设置进度100%后,覆盖最右侧一部分,解决办法就是设置偏移量 android:thumbOffset="1dp"...原创 2022-07-11 15:50:41 · 1291 阅读 · 0 评论 -
BaseBottomSheetFragment嵌套RecyclerView滑动冲突
BaseBottomSheetFragment里面的如下代码会存在滑动冲突解决方法:原创 2022-06-27 15:00:50 · 490 阅读 · 0 评论 -
Android 获取应用签名证书的SHA1、SHA256和MD5
Android 获取应用签名证书的SHA1、SHA256和MD5原创 2022-06-22 16:27:03 · 1063 阅读 · 0 评论 -
Unable to extract the trust manager on Android10Platform
sslSocketFactory的参数由一个改为两个即可原创 2022-06-22 15:14:50 · 486 阅读 · 0 评论 -
Android library引用AAR
1.将AAR包放入library里面的libs文件夹里面2. library的build.gradle添加如下内容 3.主工程的build.gradle添加如下内容原创 2022-06-22 11:43:11 · 1329 阅读 · 1 评论 -
设置TextView滚动
设置TextView滚动原创 2022-06-10 13:57:18 · 627 阅读 · 0 评论 -
NestedScrollView 中嵌套 LinearLayout,使用layout_weight不生效
NestedScrollView继承于ScrollView,故添加属性android:fillViewport="true"即可原创 2022-06-07 11:01:06 · 258 阅读 · 0 评论 -
设置图片部分圆角
android设置图片部分圆角原创 2022-06-06 17:48:11 · 340 阅读 · 0 评论 -
ImageView 实现宽度填满,高度自适应
ImageView 实现宽度填满,高度自适应原创 2022-06-02 16:25:46 · 465 阅读 · 0 评论 -
Android EditText 密码内容显示隐藏
/ 显示明文--设置为可见的密码. mPasswordET.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); // 显示密码密文. mPasswordET.setTransformationMethod(AsteriskPasswordTransformationMethod.getInstance());public c.原创 2022-05-31 16:07:14 · 278 阅读 · 0 评论 -
RecyclerView分页预加载网络数据
当还没有滑动到底部,自动请求下一页数据。在baseAdapter里面做如下判断即可private int preLoad = 5;//倒数第5个就自动加载private boolean noMoreData = false;//数据是否加载完,如果加载完 需要设置为true,以免上划时走预加载回调protected List<Data> mData;//数据 @Override public final void onBindViewHolder(@NonNull V原创 2022-05-27 15:21:33 · 634 阅读 · 0 评论 -
RecycleView最后一条显示不全
试一下三种方法:1.recyclerview高度设置为0dp,然后添加app:layout_constraintBottom_toBottomOf="parent"2.recyclerview用NestedScrollView包起来3.recyclerview外套RelativeLayout原创 2022-05-27 15:15:35 · 575 阅读 · 0 评论 -
CoordinatorLayout嵌套CoordinatorLayout
实际效果只有二级页面的TabLayout能够粘在顶部,而一级页面是不会有联动的。解决方案:自定义NestedCoordinatorLayout,替换二级页面的CoordinatorLayout。NestedCoordinatorLayout代码如下,import android.content.Context;import android.support.annotation.IntDef;import android.support.annotation.NonNull;impor原创 2022-05-24 10:03:24 · 889 阅读 · 0 评论 -
Android的dialog全屏显示不全
状态栏和导航栏都可能不适配:上下两边都显示下层界面状态栏不适配:虽然状态栏信息不显示,但是dialog没有覆盖全屏,仍然显示下层界面目前测试机型有:水滴屏、摄像头挖孔屏导航栏不适配:导航栏还在,不是全屏状态适配后Dialog 全屏适配2、代码实现//顺序不能颠倒,否则出现导航栏无法适配问题 hideNavigationBar(); adjustFullScreen(getWindow()); getWindow().setBackgroundDrawa...原创 2022-05-18 17:53:54 · 2113 阅读 · 0 评论 -
H5调用Android图片和拍照
这个功能需要自己做兼容处理,需要自己去实现,实现代码为:1.拿取回调接口mUploadCallbackAboveLprivate ValueCallback<Uri[]> mUploadCallbackAboveL;//回调图片选择,5.0以上 mWebView.setWebChromeClient(new WebChromeClient() { // For Android 5.0+ @Override publ原创 2022-05-12 10:08:56 · 1817 阅读 · 1 评论 -
Webview执行goBack不能返回
1.问题描述最近有很多人问我为什么webview加载一个网页,执行了goback网页不能返回的问题,我特此来为那些有问题的或者说有遇到这个问题不知道怎么下手解决的,可以看看下面的解答,或许会对你有所帮助吧。2.问题原因webview执行goback为什么不能返回上一页面,而为什么有的网页可以返回上一个页面呢?这到底是什么原因导致的这个问题呢?是因为web页面在被打开的时候是以url1打开,一部分网页是执行了重定向,那么它就会定向到另外一个url2地址上面去,导致你goback返回是返回了,当它从原创 2022-05-06 17:13:06 · 1228 阅读 · 0 评论 -
CoordinatorLayout+AppBarLayout滑动抖动(回弹闪烁)问题
自定义AppBarLayout.Behaviorpublic class FlingBehavior extends AppBarLayout.Behavior { private static final int TOP_CHILD_FLING_THRESHOLD = 3; private boolean isPositive; public FlingBehavior() { super(); } public FlingBehavior原创 2022-04-25 14:01:20 · 1010 阅读 · 1 评论 -
Android studio打包时忽略指定的jar
给第三方提供AAR包的时候,有可能jar包重复冲突了,那打包的时候就可以忽略指定的jar包。方法如下://打包时忽略mtr-fundsource-interface-sdk-1.0.1 gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:app/libs/mtr-fundsource-interface-s原创 2021-09-23 15:19:49 · 1060 阅读 · 0 评论 -
gradlew相关命令
在开发时有些小伙伴喜欢使用gradlew 命令行进行打包编译App,使用起来很安逸.gradlew -v //查看Gradle、Groovy、Ant、JVM等的版本gradlew clean //和clean project 类似gradlew tasks --all //查看所有任务gradlew build --info //编译并打印日志gradlew clean build --refresh-dependencies //强制更新最新依赖,清除并构建gradle.原创 2021-09-22 14:09:41 · 406 阅读 · 0 评论 -
Android拦截java层异常,不让APP崩溃
new Handler(getMainLooper()).post(new Runnable() { @Override public void run() { while (true) { try { Looper.loop(); //try-catch主线程的所有异常;Looper.loop()内部是一个死循环,出现异常时才会退出,所以这里使用while(true)。 } catch (Throw.原创 2021-09-17 14:53:45 · 365 阅读 · 0 评论 -
Android Studio ndk/jni debug调试太耗时,怎么关闭ndk调试
如下图:点击app,点击 Edit Configurations原创 2021-09-17 14:47:38 · 615 阅读 · 0 评论 -
Android临时图片避免在系统相册中显示
问题项目缓存到本地的图片,经常在相册中直接可以查看,导致用户相册凌乱,而且敏感信息容易泄露。解决方案在文件夹中添加一个.nomedia文件,该文件可以避免媒体文件被系统扫描(包括音视频文件),从而不在多媒体数据库中保存信息。...原创 2021-07-14 15:04:20 · 654 阅读 · 0 评论 -
SpannableString和SpannableStringBuilder
一、概述1、SpannableString、SpannableStringBuilder与String的关系首先SpannableString、SpannableStringBuilder基本上与String差不多,也是用来存储字符串,但它们俩的特殊就在于有一个SetSpan()函数,能给这些存储的String添加各种格式或者称样式(Span),将原来的String以不同的样式显示出来,比如在原来String上加下划线、加背景色、改变字体颜色、用图片把指定的文字给替换掉,等等。所以,总而言之,.原创 2021-04-22 17:01:10 · 419 阅读 · 0 评论 -
修改状态栏字体颜色和背景颜色
修改状态栏字体颜色如下:getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);修改状态栏背景颜色如下:if (Build.VERSION.SDK_INT >= 21) { Window window = activity.getWindow(); window.setNavigation原创 2021-03-15 14:36:06 · 674 阅读 · 0 评论 -
RecyclerView刷新数据焦点丢失?
RecyclerView进行数据更新时焦点丢失的解决方案在使用RecyclerView时,难免会用到adapter的notifyDataSetChanged方法来更新数据,其实notify**Changed系列方法都存在一个已知的焦点丢失的bug,如果在notify之后重新手动requestFocus,又会导致焦点可能不对应的问题。可以使用如下步骤规避此问题:1.为adapter提供stableId:stableId在Listview和RecyclerView中都被用来定位一个item,官方建原创 2021-03-13 16:36:12 · 1708 阅读 · 0 评论 -
弹出Dialog时隐藏状态栏和底部导航栏
private void fullScreenImmersive(View view) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE.原创 2021-02-26 15:39:40 · 964 阅读 · 0 评论 -
更新AAR包缓存问题
最有的方法如下:删除对应的AAR包后,直接rebuild一下就好了原创 2020-12-30 10:55:47 · 387 阅读 · 0 评论 -
No static method create()Lorg/webrtc/EglBase;
这是webrtc的一个bug,修改方法如下:根目录的gradle版本不要太高了可以改为下面:classpath 'com.android.tools.build:gradle:3.4.2'或者classpath 'com.android.tools.build:gradle:3.2.1'原创 2020-12-29 16:51:38 · 506 阅读 · 0 评论 -
Android获取文件夹路径
获取/data/data/下路径String printTxtPath = getApplicationContext().getPackageResourcePath() + "/files/" + fileName;=>/data/app/com.example.test/files/test.txtString printTxtPath = getApplicationContext().getFilesDir().getAbsolutePath();=> /data/da.原创 2020-11-13 11:26:06 · 1021 阅读 · 0 评论 -
Android加载高清长图
app项目开发过程中,大都有查看图片详情的功能模块。实现的方式一般都是通过viewpager+photoView+Glide的方式。这种方式下,如果碰到加载超长图,比如说高清版的清明上河图/世界地图,肯定就加载不出来了。这个时候BitmapRegionDecoder就派上了用场了布局文件<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/a.原创 2020-11-10 13:59:40 · 684 阅读 · 0 评论 -
android 优秀框架整理
程序员界有个神奇的网站,那就是github,这个网站集合了一大批优秀的开源框架,极大地节省了开发者开发的时间,在这里我进行了一下整理,这样可以使我们在使用到时快速的查找到,希望对大家有所帮助!1. Retrofit 一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言上榜理由:Retrofit以21.8k的stars量雄踞github中android子标题榜首,第一当之无愧。官网地址http://square.github.io/re.转载 2020-10-26 17:33:07 · 1026 阅读 · 0 评论 -
Zxing二维码切换横屏扫描
默认是竖屏扫描,但是当我们在清单文件中配置横屏显示的时候:<activity android:name=".CaptureActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />这时候扫描,会发现扫描效果变形,方向不对。可按以下步骤进行修改:1、修原创 2020-10-26 16:27:58 · 527 阅读 · 1 评论 -
一篇最好懂的HTTPS讲解
https这项技术现在已经应用得非常广泛了。随着苹果、Google等各大互联网领头企业纷纷在自己的操作系统、浏览器等主流产品中强制要求使用https,http的淘汰也正式进入了倒计时。其实https对于客户端开发人员来说并没有什么需要特别注意的地方,因为代码和写http请求时并没有什么两样。但也正是因为这个原因,导致许多客户端开发人员对https并不了解,只知道它是安全的加密网络传输,对其具体的工作原理却一无所知。那么客户端开发人员到底需不需要了解https呢?我认为还是有一定必要的,掌握了http转载 2020-10-09 11:52:58 · 241 阅读 · 0 评论 -
Recylerview刷新图片闪烁
当数据改变时,我们会调用 notifyDataSetChanged,这个时候列表会刷新,为了使 url 没变的 ImageView 不重新加载(图片会一闪),我们可以用adapter.setHasStableIds(true);使用这个,相当于给ImageView加了一个tag,tag不变的话,不用重新加载图片。但是加了这句话,会使得 列表的 数据项 重复!! 我们需要在我们的Adapter里面重写 getItemId就好了。@Overridepublic long getItemId(.原创 2020-09-21 14:04:30 · 244 阅读 · 0 评论