
Android
文章平均质量分 63
又双㕛叕、
~~qwertyuiop~~
展开
-
Android Dialog无法弹出输入法问题
延时弹出没用,延时弹出没用,延时弹出没用,延时弹出没用Dialog如果带Edittext 等输入控件,Android其实已经默认弹出输入法了。延时弹出没用,延时弹出没用,延时弹出没用,延时弹出没用网络上其他不弹出的情况,原创 2022-10-24 18:42:22 · 2849 阅读 · 3 评论 -
Android Studio内存性能分析器
内存性能分析器原创 2022-07-27 11:42:58 · 1606 阅读 · 0 评论 -
Android 图片高斯模糊
Android 图片高斯模糊原创 2022-06-01 17:55:26 · 626 阅读 · 0 评论 -
Android10.0 最近任务
最近有个launcher项目,有个修改最近任务的功能。改成普通安卓手机,按任务栏显示最近打开的任务界面。可以上下滑动层叠卡片式布局,卡片式布局可以参考我另一篇文章:Android7最近任务栏UI(DeckView)一.获取最近任务taskListLoader.loadTaskList(tasks -> { try { Collections.reverse(tasks); for (Ta原创 2022-05-24 14:26:01 · 2563 阅读 · 3 评论 -
ViewPager滑动动画
ViewPager在项目中用的地方很多,有默认的滑动动画,下面介绍一下怎么自定义动画public void setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer) { boolean hasTransformer = transformer != null; boolean needsPopulate = hasTransformer != (thi原创 2022-05-19 16:19:58 · 551 阅读 · 0 评论 -
RxJava基础学习4-功能操作符
1、subscribe() 操作符连接 被观察者 和 观察者//创建被观察者 Observable observable = Observable.create(new ObservableOnSubscribe() { @Override public void subscribe(ObservableEmitter emitter) throws Exception { emitter.onNext原创 2022-05-11 14:47:49 · 609 阅读 · 0 评论 -
RxJava基础学习3-合并操作符
1.zip 操作符 * 把多个Observable合并后,并且把这些Observable的数据进行转换再发射出去。转换之后的数据数目由最短数据长度的那个Observable决定。发射完最终会自动调用观察者的onComplete方法() * * 如以下代码: 数据长度为6的observable1和数据长度为4的observable2进行合并转换后,观察者只接收到4个数据 */Observable observable1 = Observabl...原创 2022-05-11 11:55:04 · 856 阅读 · 0 评论 -
Android7最近任务栏UI(DeckView)
最近在操作最近任务栏UI,模仿系统级别DeckView。需要的自己代码去下载。public class DeckView<T> extends FrameLayout implements /*TaskStack.TaskStackCallbacks,*/ DeckChildView.DeckChildViewCallbacks<T>, DeckViewScroller.DeckViewScrollerCallbacks, ViewPoo..原创 2022-05-07 19:04:18 · 1363 阅读 · 0 评论 -
RxJava基础学习2-转换符
1.mapObservable.create((ObservableOnSubscribe<Integer>) emitter -> { for (int i = 0; i < 10; i++) { emitter.onNext(i); } emitter.onComplete(); }).map(new Function<Integer, String原创 2022-04-26 18:01:17 · 393 阅读 · 0 评论 -
RxJava基础学习1-操作符
1.create代码:Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> emitter) throws Exception { for (int i = 0; i <原创 2022-04-26 16:16:29 · 259 阅读 · 0 评论 -
LiveData-美滋滋
LiveData是什么?Android的官方文档种描述为可以在给定生命周期中观察的数据持有类。LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。使用 LiveData 的优势确保界面符合数据状态LiveData 遵循观察者模式。当底层数据发生变化时,L原创 2022-05-19 11:35:51 · 299 阅读 · 0 评论 -
SharedPreference进阶MMKV框架
SharedPreference 简介顾名思义,Android 开发肯定会使用到SharedPreference。以下简称SPsp是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置。是以xml文件保到:/data/data/包名/shared_prefs目录下。类似键值对的方式来存储数据。sp提供了常规的数据类型保存接口比如:int、long、boolean、String、Float、Set和Map这些数据类型。1.sp存储SharedPreferences sp原创 2022-04-21 16:47:00 · 2093 阅读 · 0 评论 -
Android TV首页横向滑动实现
Android TV首页横向滑动实现在TV项目开发中,经常会用到横向滑动的布局,这里一次介绍下横向滑动的实现方式,请自行获取。1.使用HorizontalGridView实现横向滑动直接上代码public class Main1Activity extends Activity { HorizontalGridView mHgv; @Override public void onCreate(Bundle savedInstanceState) { sup原创 2021-05-25 17:19:48 · 1012 阅读 · 1 评论 -
浅谈1024
说起1024,大家都知道在数学计算中1GB=1024MB,1MB=1024KB,1KB=1024Byte。对于程序员来说,接触1024的机会非常多,所以被广大程序员称为:程序员节浅谈自己的1024我的第1024行代码if (devicesBean.getMetadataList() != null && devicesBean.getMetadataList().size() > 0) {我的第1024个BUG这个就有点意思,BUG太多了,...原创 2020-10-26 18:07:31 · 5616 阅读 · 0 评论 -
简述Handler机制原理
1.Handler是什么?Handler是android提供用于更新UI的一套机制,也是消息处理机制。也可以说是消息传递机制。Handler的主要作用有2个 1.在新启动的线程中发送消息 2.在主线程即UI线程中获取并处理消息说明:启动一个APP时,首先会开启一个主线程(UI线程),主要管理UI界面,更新UI等操作a.如果进行一个耗时的操作,请求后台数据,并更新UI。这时候请求后台数据是需要时间的,不能放在主线程中进行。需要开启一个子线程来执行请求数据的操作b.请...原创 2020-10-16 11:21:43 · 2644 阅读 · 0 评论 -
鸿蒙HarmonyOS 小白体验之路
小白先生嘛,只知道有华为,有鸿蒙,至于啥时候发布的就不晓得了,反正很强大就是。反之咋们就是随便玩玩,没有大神们这么精通。以下就说说 小白 体验之路。1.下载 DevEco Studio 2.0官网地址:https://developer.harmonyos.com/cn/develop/deveco-studio#download注册账号,下载,安装。下次在写,改BUG要紧,...原创 2020-10-10 15:42:48 · 4309 阅读 · 0 评论 -
APK反编译3步最简单操作
工具apktool 作用:把apk文件反编译,取出资源dex2jar 作用:把存有java内容的dex文件反编译(classes.dex转化成jar文件)jd-gui 作用:查看APK中classes.dex转化成出的jar文件,即源码文件操作1。apktool 操作cmd进行操作:java -jar apktool.jar d -f 要反编译软件包名 -o 要输出的文件夹注意apktool.jar入径问题2。dex2jarcmd进行操作:d2j-dex2jar...原创 2020-09-23 11:45:00 · 189 阅读 · 0 评论 -
Android图片代码换色,背景换色
开发过程中有很多图片或者背景需要换色的,又不想麻烦设计帮忙切图,可以自己通过代码换色。1.获取背景或者DrawableTextView imageView = helper.getView(R.id.bg); imageView.setBackground(tintDrawable(imageView.getBackground(), ColorStateList.valueOf(Color.parseColor("#FF0000"))));2.设置颜色private原创 2020-08-19 17:47:30 · 456 阅读 · 1 评论 -
RecycleView多层嵌套刷新问题
大家在使用RecycleView的时候回遇见2层RecycleView使用,3层等等使用2层之后,需要刷新父层RecycleView而不刷新子层RecycleView的时候,就可以用一下方法简单的购物车系统,商家的多个商品,批量筛选商家前缀等等,刷新第一次recycleview状态,不用刷新第二层,1.使用万能适配器implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.34'2.adapter.原创 2020-07-08 16:57:51 · 2259 阅读 · 0 评论 -
Activity的生命周期详解
原文出处链接:https://blog.youkuaiyun.com/qq_36270361/article/details/107141162版权声明:本文为优快云博主「Steven Jon」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/qq_36270361/article/details/107141162本文纯属复习下Activity生命周期知识,望大家细看,如有侵权,请联系我删除。ActivityAc原创 2020-07-07 16:14:58 · 1922 阅读 · 0 评论 -
Android 微信分享,微信分享图片
直接贴代码吧微信分享正常连接WXWebpageObject webpage = new WXWebpageObject(); webpage.webpageUrl = string; WXMediaMessage msg = new WXMediaMessage(webpage); msg.title = "标题"; msg...原创 2020-04-16 14:29:30 · 1286 阅读 · 0 评论 -
最新!!Android 状态栏详细开发,5分钟精通状态栏
由于市面上手机越来越多,状态栏五花八门,导致我们开发越来越混乱,这里总结一下状态栏开发需要注意什么。Android 4.4 之前,Android 的状态栏是黑色背景,无法修改。 (不需要适配)Android 4.4 推出了透明状态栏的效果。 (不需要适配)Android 5.0 提供了方法可以直接修改状态栏的颜色。一下方法只针对Android 5.0+,5.0一下不做适配,因为不...原创 2020-04-08 14:52:02 · 646 阅读 · 0 评论 -
Activity、Fragment生命周期、常用面试问题
Activity、Fragment想必大家都不陌生了,直接上图吧。 Fragment生命周期 Activity、Fragment生命周期两者对比OnCreate()第一次创建的时候调用。一般用来做一些出数据的操作。比如,加载布局,初始化事件。。...原创 2020-04-03 10:08:16 · 430 阅读 · 0 评论 -
Android 滑动悬停效果
先上效果图此代码是基于androidx版本,如果需以前直接替换即可implementation 'androidx.appcompat:appcompat:1.1.0'1.XML文件<?xml version="1.0" encoding="utf-8"?><androidx.coordinatorlayout.widget.CoordinatorLay...原创 2020-04-02 10:58:01 · 510 阅读 · 0 评论 -
Recyclerview横向滚动条,仿淘宝快捷入口
直接上图吧1.RecyclerViewScrollBar类public class RecyclerViewScrollBar extends View { private RecyclerView mRecyclerView; private int mWidth; private int mHeight; private Drawable ...原创 2020-04-01 11:15:50 · 558 阅读 · 2 评论 -
Android Studio 3.5.2 出现的Could not Get'XXX.pom的解决方法
重新下载了Android Studio 3.5.2版本,新建一个项目,一直出现Could not Get’https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.5.2/gradle-3.5.2.pom’. Received status code 400 from server: Bad Request...原创 2020-04-01 10:37:07 · 2020 阅读 · 1 评论 -
Android 包体积优化实战
概述用户通常都不愿意去下载一个比较大的程序,特别是不在 WIFI 的情况下。如果你的安装包很小,用户还是愿意下载安装体验下的。现在市面上满足某种需求的 App 通常都会有很多款,如何让用户愿意下载你的 App 来体验?安装包越小,在 WIFI 情况下,极速下载安装,开始体验。在移动网络情况下,包体积越小,用户安装的的可能性越大。所以安装包大小对用户的转换率有很大的影响。接下来就和大家分享下我在...转载 2020-03-31 17:13:03 · 220 阅读 · 0 评论 -
Android 圆形停止按钮,跑步APP停止动画
应学弟要求,帮忙做的一个圆形动画效果,UI是借鉴跑步停止按钮实现的。如图所示:圆形按钮,长按触发进度条,松开取消,带动画效果。直接附上代码。public class HJProgressButton extends View { // 画实心圆的画笔 private Paint mCirclePaint; // 画圆环的画笔 private P...原创 2020-03-31 17:02:37 · 754 阅读 · 0 评论 -
Android App兼容 10.0 系统
北京时间2019年3月14日Google正式对外发布Android Q Beta 1及预览版SDK,这意味着安卓开发者们又即将迎来一年一度的新版本适配工作了。Android Q 为开发者们带来了许多新功能,如折叠屏增强项、新网络连接 API、全新的媒体解码器、摄像头新功能、NNAPI 扩展、Vulkan 1.1 图形支持等等。1.加权限<uses-permission androi...原创 2020-03-31 16:53:22 · 1126 阅读 · 0 评论 -
galleryfinal 实现Android图片单选/多选、拍照、裁剪、压缩。视频选择和录制。
RxGalleryFinal是一个android图片/视频文件选择器。其支持多选、单选、拍摄和裁剪,主题可自定义,无强制绑定第三方图片加载器。1.首先加入权限 2.在module gradle中项目依赖代码:compile 'cn.finalteam.rxgalleryfinal:library:0.0.1'//支持以下主流图片加载器,开发者自行选择 comp原创 2017-03-31 10:50:32 · 2538 阅读 · 0 评论 -
Fresco使用详情
第一肯定是Fresco地址啦:https://github.com/facebook/frescogradle配置:implementation 'com.facebook.fresco:fresco:1.13.0'1.在Application 初始化Fresco.initialize(this);2.在xml中使用SimpleDraweeViewxmlns:app=...原创 2019-04-29 14:11:04 · 350 阅读 · 0 评论 -
Android studio 下拉刷新,加载更多使用LoadingViewFinal
Android studio已经普遍了,开发过程中会使用到下拉刷新和加载更多,类似PULL-to-Refresh,xrecyclerview,SwipeRefreshLayoutd 等等。现在介绍下最近git找到的下拉刷新,加载更多,很实用(群218801658,小生只是转载,转载。)支持ListView,GridView,REcyclerView,ScrollView,Expanda原创 2016-03-24 11:05:21 · 3945 阅读 · 2 评论 -
RadioGroup+Fragment 实现简单选项卡切换
RadioGroup+Fragment 实现简单选项卡切换原创 2015-08-10 11:23:53 · 9276 阅读 · 5 评论 -
Android 6.0下拉刷新,SwipeRefreshLayout
1.android6.0总结pullTorefresh 新控件SwipeRefreshLayout ,下拉刷新棒棒滴首先是XML <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/id_swipe_ly" android:layout_width="match_parent"原创 2015-12-02 14:30:31 · 1181 阅读 · 0 评论 -
Android studio 导入 PullToRefresh
Android studio 导入 PullToRefresh首先以下方法是针对build.gradle添加地址没办法依赖项目的用户 列如:compile project('*****')1.首先去github下载PullToRefresh项目地址是:https://github.com/chrisbanes/Android-PullToRefresh解压并找到 libra原创 2015-12-01 13:59:08 · 931 阅读 · 0 评论 -
android 多渠道打包
Gradle多渠道打包由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了。以友盟统计为例,在AndroidManifest.xml里面会有这么一段:123android:name="UMENG_CHANNEL"原创 2016-04-12 14:16:23 · 663 阅读 · 0 评论 -
android studio 快捷键大全
可以再setting-kaymap里设置,有很多种样式来选择,也可以自己自定义。常用快捷键1. Ctrl+E,可以显示最近编辑的文件列表2.Shift+Click可以关闭文件3. Ctrl+[或]可以跳到大括号的开头结尾4. Ctrl+Shift+Backspace可以跳转到上次编辑的地方5. Ctrl+F12,可以显示当前文件的结构6. Ctrl+F7原创 2016-04-18 10:40:28 · 469 阅读 · 0 评论 -
Android Studio中有六种依赖(Compile,Provided,APK,Test compile,Debug compile,Release compile)
在Android Studio中,开发会常用的6中依赖方法。1.Compile compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。2.Provided Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打原创 2016-03-22 14:53:23 · 14368 阅读 · 2 评论 -
Android 代码混淆总结
Android开发的都知道,项目不混淆很容易别反编辑出来。下面介绍下混淆代码的一般步骤。1. 大家也许都注意到新建一个项目会创建一个app.gradle.开启混淆如下代码 minifyEnabled trues proguardFiles 混淆文件目录buildTypes { release { minifyEnabled true p原创 2016-04-12 14:01:44 · 1022 阅读 · 0 评论 -
Android Fragment 解析
Android是通过FragmentManager来管理Fragment,每次对Fragment进行添加和移除时需要开启事务,通过事务处理这些相应的操作,然后commit事务。在对Fragment进行管理前,需要开启一个事务,如下: FragmentManager fm = getSupportFragmentManager(); FragmentT原创 2016-05-23 16:30:16 · 386 阅读 · 0 评论