
android
xdy1120
这个作者很懒,什么都没留下…
展开
-
ViewPropertyAnimator属性动画
使用 ObjectAnimator通过使用 3.0 中引入的 ObjectAnimator,你可以通过几行代码实现 View 的任意一个属性动画。创建一个 Animator,设置任意一个可选的属性以及一些可选参数(比如 duration 和 repetition 参数),然后调用 start() 方法。例如,想要让一个叫做 myView 的对象做淡出动画,你可以这样做:ObjectAnimator.ofFloat(myView, "alpha", 0f).start();这显然一点都不难,编写代码不转载 2020-07-02 14:44:45 · 966 阅读 · 0 评论 -
LocalBroadcastManager
在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。我们拿广播电台来做个比方。我们平常使用收音机收音是这样的:许许多多不同的广播电台通过特定的频率来发送他们的内容,而我们用户只需要将频率调成和广播电台的一样就可以收听他们的内容了。Android中的广播机制就和这个差不多的道理。BroadcastReceiver安全问题BroadcastReceiver设计的初衷是从全局考虑可以方便应用程序和系统、应用程序之间、应用程序内的通信,所以对单个应用程序而言BroadcastRe转载 2020-07-01 15:05:31 · 4063 阅读 · 1 评论 -
拦截tablayout 点击事件
注册tablayout 中view的touch事件,通过touch来拦截/** 拦截tablayout点击事件 */View.OnTouchListener tabOnClickListener = new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { int pos = (int) view.getTag(); /** 下转载 2020-05-09 14:35:15 · 1368 阅读 · 0 评论 -
Flutter基础
简单讲它就是谷歌便携式UI工具包针对ARM架构的移动操作系统,提供跨平台的解决方案。关于Flutter及其特性:Flutter不会取代传统的Apple和Android应用程序模型来构建移动应用程序; 相反,它是一个应用引擎,您可以嵌入到现有的应用程序或用于一个全新的应用程序。特性1:Flutter可以使你构建漂亮的应用程序Flutter可让您控制屏幕上的每个像素,其强大的合成功能可让您无...原创 2020-04-20 09:44:08 · 168 阅读 · 0 评论 -
android studio 真机调试offline,adb.exe被占用
原因android studio 挂掉第一种方法:关机重启android studio;第二种方法:5037端口被占用;打开cmd,输入:netstat -ano | findstr “5037”; (1) tasklist|find "4168" 找到占用5037端口的PID,打开任务管理器,将对应pid号的进程杀死; ...原创 2020-03-10 08:43:53 · 403 阅读 · 0 评论 -
几种下拉刷新
1、 chrisbanes/Android-PullToRefresh 地址支持ListView、ExpandableListView、GridView、WebView、ScrollView、HorizontalScrollView、ViewPager、ListFragment、、、2、 chrisbanes/ActionBar-PullToRefresh 地址3、SwipeRefres...转载 2019-12-17 11:37:18 · 462 阅读 · 0 评论 -
自定义Dialog的注意事项
給Dialog添加布局文件有兩種方式:1.和Activity一樣, 在onCreate中通過setContentView方法添加;2. 通過LayoutInflate添加,可在構造方法中添加。在項目某Activity中看到這樣的代碼:private CustomDialog mDialog;public void showDelDialog() { if (mDialog == nu...转载 2019-11-20 16:03:58 · 157 阅读 · 0 评论 -
Transition(Activity切换过渡动画)
Material Design 应用中的操作行为转换透过通用元素之间的移动和转换提供不同状态之间的视觉连接。 您可为进入、退出转换以及操作行为之间的共享元素转换指定定制动画。活动过渡提供了两种过渡类型:1,输入(进入):进入一个活动的效果2,退出(退出):退出一个活动的效果而这每种类型又分为普通和共享元素的过渡。普通转型爆炸 explode:从场景的中心移入或移出幻灯 slide:从...转载 2019-10-29 11:22:10 · 1000 阅读 · 0 评论 -
android:onNewIntent
本文编写目的:供自己查阅1、通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统也会创建一个新的Activity实例。为了不让Activity实例化多次,我们需要通过在AndroidManifest.xml配置启动方式。2、launchMode为singleTask的时候,通过Intent跳到一个Activity,如果系统已经存在一个实例,...原创 2018-07-30 10:36:15 · 367 阅读 · 0 评论 -
android:MPV
本文供自己查阅 android MVP模式结构代码。 model层包含: IUser接口(定义model功能,数据json解析,从缓存获取数据,从数据库获取数据等,相当于MVC的DAO层),UserModel实现Iuser接口(model功能的具体实现代码),BaseBean(bean父类),UserBean(数据封装bean),UserListBean(数据封装bean List,该类继承...原创 2018-07-30 16:05:17 · 1251 阅读 · 0 评论 -
android:杂记
1、当我们继承OnGestureListener监听事件的时候,如果想要相应onFlip和onScroll方法,则必须首先让onDown方法返回 ture 2、当我们使用popupWindow进行用户输入的时候,是不是经常出现输入框被弹出来的输入法遮盖住的情况呢。这里想要 popWindow自动的适应位置很简单,只需要加上这么几句代码就行了。//设置popupWi...转载 2018-08-01 18:00:17 · 131 阅读 · 0 评论 -
android:关于service 返回START_STICKY
START_STICKY定义:Constant to return from onStartCommand(Intent, int, int): if this service’s process is killed while it is started (after returning from onStartCommand(Intent, int, int)), then leave i...原创 2018-08-02 14:18:29 · 5909 阅读 · 0 评论 -
android:service保活
1、修改Service的onStartCommand 方法返回值 当服务被异常终止,是否能重启服务? 一般的做法是修改返回值,返回START_ STICKY。 onStartCommand()返回一个整型值,用来描述系统在杀掉服务后是否要继续启动服务,返回值有三种:START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象...转载 2018-08-02 14:20:44 · 1633 阅读 · 0 评论 -
java:RxJava 2.0
Observable:在观察者模式中称为“被观察者”; Observer:观察者模式中的“观察者”,可接收Observable发送的数据; subscribe:订阅,观察者与被观察者,通过subscribe()方法进行订阅; Subscriber:也是一种观察者,在2.0中 它与Observer没什么实质的区别。 Obsesrver用于订阅Observable,而Subscriber用于订...转载 2018-08-08 12:02:38 · 142 阅读 · 0 评论 -
android:PictureSelector
https://github.com/LuckSiege/PictureSelectorPictureSelector 2.0一款针对android平台下的图片选择器,支持从相册或拍照选择图片或视频、音频,支持动态权限获取、裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能、适配android 6.0+系统的开源图片选择框架。 uses-permission androi...转载 2018-08-22 11:26:44 · 2899 阅读 · 1 评论 -
android:ScrollView滑动冲突问题
在ViewGroup中有个方法叫requestDisallowInterceptTouchEvent(boolean disallowIntercept),这个方法可以用来控制该ViewGroup是否截断点击事件。mMapView.getChildAt(0).setOnTouchListener(new View.OnTouchListener() { ...原创 2018-09-05 18:31:39 · 491 阅读 · 0 评论 -
androidStudio快捷键
Ctrl+N:查找类Ctrl+Shift+N:查找文件Ctrl+Alt+L :格式化代码Ctrl+Alt+O:优化导入的类和包Ctrl+/:注释代码 格式://代码块Ctrl+Shift+/:注释多行代码 格式:/*代码块*/Ctrl+Alt+Space(空格):自动补全代码Ctrl+空格:代码感应提示Ctrl+Alt+Space:类名和接口名提示Ctrl+Sh...转载 2018-09-11 10:21:53 · 162 阅读 · 0 评论 -
android通知栏出现“XXX正在运行,触摸即可了解详情或停止应用”
手机上莫名显示我们的app,“XXX正在运行,触摸即可了解详情或停止应用”,我去,这不是让用户知道我们在后台偷偷运行了,什么情况?排查后发现是如下代码导致:startForeground(111, new Notification());其实就是调用startForeground导致的,解决方法就是再开一个service将这个通知取消掉stopForeground(true); ...转载 2018-12-13 17:07:58 · 6513 阅读 · 2 评论 -
Android系统休眠对程序的影响以及处理
Android系统在用户长时间不操作时,为了节省资源,系统会选择休眠。在休眠过程中自定义的Timer、Handler、Thread、Service等都会暂停。而有时候这种机制会影响到我们程序的正常运行。1、获取电源锁,并在执行完毕释放电源锁public class WakeLockUtil{ public static WakeLock wakeLock = null; ...原创 2018-12-14 14:01:54 · 2814 阅读 · 0 评论 -
Android 无法接收开机广播的问题
Android手机开机后,会发送android.intent.action.BOOT_COMPLETED广播,监听这个广播就能监听开机。<receiver android:name="com.netmoon.broadcast.BootBroadCastReceiver"> <intent-filter> <action android:na...转载 2018-12-17 09:45:04 · 4284 阅读 · 0 评论 -
利用Fiddler对Android模拟器网络请求进行抓包
安装使用Fiddler下载安装Fiddler的方法这里就略过了,一路Next就行了。装好之后运行软件,正常情况这个时候我们已经可以对电脑的网络请求进行抓包了。Fiddler默认的代理地址是127.0.0.1,端口是8888。此时打开IE浏览器,默认是通过代理地址上网的,所以可以对所有网络访问抓包。对Android模拟器网络请求抓包我使用的Android模拟器是Genymotion模拟器,使用...转载 2019-01-17 10:55:55 · 247 阅读 · 0 评论 -
图片URL
显示图片所使用的uri:String imageUri = “http://site.com/image.png”; // from WebString imageUri = “file:///mnt/sdcard/image.png”; // from SD cardString imageUri = “content://media/external/audio/albumart/13”...转载 2019-01-16 10:13:11 · 2446 阅读 · 0 评论 -
EventBus 事件接收方法解释
1、onEvent2、onEventMainThread3、onEventBackgroundThread4、onEventAsync这四种订阅函数都是使用onEvent开头的,它们的功能稍有不同,在介绍不同之前先介绍两个概念:告知观察者事件发生时通过EventBus.post函数实现,这个过程叫做事件的发布,观察者被告知事件发生叫做事件的接收,是通过下面的订阅函数实现的。onE...转载 2019-01-28 17:24:02 · 1223 阅读 · 0 评论 -
RecyclerView
为什么叫 RecyclerView?不关心item是否显示在正确的位置,如何显示。不关心item间如何分隔。不关心item增加与删除的动画效果。只关心如何回收与复用View。LayoutManager:用来控制RecyclerView的显示风格。ItemDecoration:用来绘制item间的分隔样式。ItemAnimator:用来实现item相关的动画效果。如此看来...原创 2019-02-14 17:36:57 · 136 阅读 · 0 评论 -
DialogFragment
DialogFragment 本身是 Fragment 的子类,有着和 Fragment 基本一样的生命周期,使用 DialogFragment 来管理对话框,当旋转屏幕和按下后退键的时候可以更好的管理其生命周期在手机配置变化导致 Activity 需要重新创建时,例如旋转屏幕,基于 DialogFragment 的对话框将会由 FragmentManager 自动重建,然而基于 Dialog...转载 2019-02-15 16:32:10 · 323 阅读 · 0 评论 -
surfaceView绘制转盘抽奖
surfaceView extends ViewView在UI线程绘制,surfaceView在子线程绘制,可以避免造成UI线程阻塞。surfaceView中包含一个surface,surface中包含Canvas.如何获取Canvas?getHolder -&gt; surfaceHoldersurfaceHolder -&gt; CanvassurfaceHolder功能:获...转载 2019-02-12 17:37:37 · 191 阅读 · 0 评论 -
android自定义View
1、自定义属性的声明与获取2、测量onMeasure:测量自身,决定自身大小。什么时候调用onMeasure方法?当控件的父元素正要放置该控件时调用.父元素会问子控件一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec.(带约束的空间大小)这两个参数指明控件可获得的空间以及关于这个空间描述的元数据....原创 2019-02-14 11:40:57 · 270 阅读 · 0 评论 -
onTouchEvent处理机制
只有view,ViewGroup,Activity 具有事件分发和消费的功能。Activity因为上最先接触到触摸事件,因此Activity没有事件拦截方法。即没有onInterceptTouchEvent方法。对于不能添加子控件的view,不能对事件进行分发和拦截,它只有onTouchEvent事件。public boolean dispatchTouchEvent(Mot...原创 2019-02-14 12:04:17 · 619 阅读 · 0 评论 -
AndroidStudio查找快捷键
1、在当前窗口查找文本【Ctrl+F】2、在当前工程内查找文本【Ctrl+Shift+F】3、查找类【Ctrl+N】4、查找文件【Ctrl+Shift+N】5、查找项目中的方法或变量【Ctrl+Shift+Alt+N】6、查找类/方法/变量引用的地方7、ctrl + o 查看所有可以重写的方法8、在类中快速定位某个方法或属性Ctrl+F12...转载 2019-03-01 08:48:58 · 2959 阅读 · 0 评论 -
android:shape
转载 2019-02-20 10:28:22 · 123 阅读 · 0 评论 -
Service之startForeground
startForeground让service服务前台运行,不被系统杀掉。通知栏会显示如下:原创 2019-03-20 17:38:42 · 557 阅读 · 0 评论 -
动态权限检测
package com.dragon.android.permissionrequest;import android.Manifest;import android.content.DialogInterface;import android.content.Intent;import android.content.pm.PackageManager;import android....转载 2019-03-12 17:45:49 · 461 阅读 · 0 评论 -
迁移到Android Studio 3.0问题汇总
5、Android studio升级到3.0,原来正常的项目,加载编译时,提示“Error:Cannot choose between the following configurations of project”错误:6、编译不通过,报错com.android.builder.internal.aapt.v2.Aapt2Exception: Android resou...转载 2019-03-18 11:18:57 · 228 阅读 · 0 评论 -
View.post(Runnable)
转载 2019-03-19 09:42:04 · 726 阅读 · 0 评论 -
Android文件目录(包含对6.0系统的说明)
在android 6.0以前,你可以只关注外置存储是否挂载即可,但是从6.0以后,也就是M系统后,还需要判断是否有读写权限,只有具备这些权限才可以读写外置存储。1,Context.getFilesDir获取路径:/data/user/0/应用包名/files该目录是应用的文件存储目录,应用被卸载时,该目录一同被系统删除。默认存在,默认具备读写权限(6.0系统可以不用向用户申请)2,Cont...转载 2019-03-26 15:29:48 · 30863 阅读 · 0 评论 -
android资源文件XML
一、anim目录1.逐帧动画<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false">//循环执行 <item android:drawable...原创 2019-03-23 13:24:04 · 1345 阅读 · 0 评论 -
Android一些好用的类或方法
TextUtils :public static boolean isEmpty(@Nullable CharSequence str)这个方法判断字符串非null且非空,在对字符串进行判断时可以不必if(str !=null && str.length() > 0)这样判断。public static CharSequence concat(CharSequence…...转载 2019-03-26 16:57:56 · 1358 阅读 · 4 评论 -
fileprovider使用
<provider android:authorities="com.hexy.yidongapp.provider" android:name="android.support.v4.content.FileProvider" android:grantUriPermissions="true" ...原创 2019-04-09 15:41:16 · 616 阅读 · 0 评论 -
androidstudio获取sha1和MD5值
获取发布版keystore的sha1和MD5值D:\jdk1.7\bin>keytool -list -v -keystore D:\keystory\syszxyy.jks获取debug版keystore的sha1和MD5值gradle -> signingReport原创 2019-04-16 14:02:54 · 227 阅读 · 0 评论 -
Android webview 关于返回键和历史栈
在做一个webview加载出错时加载本地的出错页,刷新显示之前Url的内容。 @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, er...转载 2019-04-16 15:44:47 · 2474 阅读 · 0 评论