
android工作杂记
王玉见
我就是我,是颜色不一样的烟火!
展开
-
解决Glide加载Gif动态图(圆角),边角有黑色阴影问题。
1)问题描述:在开发android app的项目中,碰到了一个小问题,就是利用Glide加载Gif图片,因为Glide本身是支持Gif加载的,所以直接使用。如下图所示:截图中的加载中的动图是UI设计的图,有圆角;发现出现了边角的阴影,尝试了换图,检查代码,没有问题;后来通过Google找到了一篇文章,解决了这个问题。2)原因分析:参考了这篇文章:Glide加载圆角gif图边角黑边问题大致问题是图片解码格式默认为RGB_565导致的,在加载时将解码格式手动设置为ARGB_8888即可。关于原理的原创 2020-07-09 12:08:58 · 2100 阅读 · 0 评论 -
解决ScrollView嵌套AgentWeb安卓部分机型出现的问题
1)问题描述:app开发中,某个页面是原生和h5混合页面,h5用的是AgentWeb,布局中用ScrollView嵌套原生和h5布局,在部分机型报错。报错如下:2)问题分析:大致原因应该是开了硬件加速,在某种机型上出现了问题。3)解决办法:① 关闭(如果有)清单文件中的硬件加速android:hardwareAccelerated="true"② 关闭硬件加速WebView mWebView = agentWebInit.getWebCreator().getWebView();mWebV原创 2020-05-29 19:06:24 · 758 阅读 · 0 评论 -
Android系统中的.apk文件和dex文件
1. *.apk文件APK是Android Package的缩写,即Android安装包。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。使用Android打包工具(aapt)将DEX文件,资源文件以及AndroidManifest.xml文件组合成一个应用程序包(APK)。Dex是Dalvik VM executes的全称,即Android原创 2016-07-15 16:04:59 · 1450 阅读 · 0 评论 -
RecyclerViewd的用法
原文地址:http://www.imooc.com/article/10421转载 2016-07-14 17:11:47 · 307 阅读 · 0 评论 -
随时随地退出程序
随时随地退出程序如果目前你手机的界面还停留在ThirdActivity,你会发现当前想退出程序是非常不方便 的,需要连按三次Back 键才行。按Home 键只是把程序挂起,并没有退出程序。其实这个 问题就足以引起你的思考,如果我们的程序需要一个注销或者退出的功能该怎么办呢?必须 要有一个随时随地都能退出程序的方案才行。 其实解决思路也很简单,只需要用一个专门的集合类对所有的活动进行管理就可以原创 2016-06-15 10:40:14 · 417 阅读 · 0 评论 -
intent的简单用法
intent的简单用法一,跳转 显式:直接通过 intentIntent intent = new Intent(FirstActivity.this, SecondActivity.class);startActivity(intent); 隐式:通过代码和清单文件来完成操作Intent intent = new Intent("co原创 2016-06-12 16:23:44 · 422 阅读 · 0 评论 -
scrollview嵌套listview运行后最先显示出来的位置不在顶部而是中间问题
scrollview里面嵌套了一个listview ,通过设置一个方法设置了listview的高度 现在的情况就是进到这个界面的时候看到的不是最上面 而是中间 ,该问题的解决办法为: 在代码里去掉listview的焦点 lv.setFocusable(false),就可以解决问题了!原创 2016-06-12 10:52:24 · 357 阅读 · 0 评论 -
android 获取视频的莫一帧 并展示再view上
//创建MediaMetadataRetriever对象MediaMetadataRetriever mmr=newMediaMetadataRetriever();//设置资源位置String path="/storage/sdcard1"+"/Movies"+"/test.mp4";//绑定资源mmr.setDataSource(path);原创 2017-09-18 09:21:04 · 649 阅读 · 0 评论 -
Android常用代码之普通及系统权限静默安装APK
本文主要介绍程序如何安装apk,包括普通模式安装和系统权限静默安装。如果是非系统应用请直接查看:Android常用代码之APK root权限静默安装,查看更完美的解决方案。 1、普通模式安装,调用系统Intent,代码如下:Java123456public static void install(Context conte转载 2017-03-30 17:01:10 · 825 阅读 · 0 评论 -
自定义的medialay+surface seekbar拖动不灵敏的问题
自定义的surface和mediplay seekbar拖动不太灵敏 仔细查了原因 是因为拖动球的大小太小 android:thumb="@mipmap/video_play_progress_point"thumb 拖动区域 设置图片的大小直接影响拖动的点击区域 修改图片 设置可点击区域大些 即可解决问题!原创 2017-08-12 10:18:30 · 1146 阅读 · 1 评论 -
在Fragment中我想点击按钮然后关闭当前的Fragment返回上一个Fragment该如何实现。
FragmentTransaction ft2 = getFragmentManager().beginTransaction();ft2.replace(R.id.searoot_frame, new FragmentSeaGateStoryBookView());ft2.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);转载 2017-04-19 09:41:12 · 2302 阅读 · 0 评论 -
Android沉浸式状态栏和导航栏的研究
Android开发过程中,移动设备的状态栏和导航栏的颜色,尺寸,根据需要有时需要调整,沉浸式和透明状态栏,尤其是小说阅读界面,在开发中很常见。根据平时的工作情况,对手机状态栏和导航栏做以下总结:1)隐藏状态栏和导航栏(手机被整个app铺满,包括一些手机虚拟按键导航栏);2)设置透明状态栏;一、隐藏状态栏和导航栏这类的处理方式有两种:1)直接在清单文件中设置:①在原创 2018-03-27 18:11:03 · 652 阅读 · 0 评论 -
Android 通过git(码云)提交本地代码
1)默认用户已经注册码云账号,注册地址:https://gitee.com/signup;2)用户新建项目,填写比较的信息,完成新项目的创建(作者默认该项目克隆地址:https://gitee.com/devnn/test.git);3)用户本地新建一个文件夹,克隆刚才新建的项目(作者默认文件夹地址:F:\code);4) 用户打开 git客户端(dos窗口)(下载地址:https:/原创 2018-05-10 17:01:02 · 505 阅读 · 0 评论 -
Android接入微信H5支付及与Js交互
思路逻辑: 1)Android端调用后端生成的支付链接; 2)通过addJavascriptInterface()方法传入与Js交互的参数; 3)支付成功,Js回调Android端接口,处理相应逻辑。 操作步骤: 一)Android端获取微信支付Url 二)设置Webview参数 1) Android通过Webview打开Url,通过addJavascriptInterfac...原创 2018-05-15 16:49:29 · 2837 阅读 · 1 评论 -
java中的url 编码与解码
在开始讨论编码解码之前,首先来明确一下问题。什么是application/x-www-form-urlencoded字符串?答:它是一种编码类型。当URL地址里包含非西欧字符的字符串时,系统会将这些字符转换成application/x-www-form-urlencoded字符串。 表单里提交时也是如此,当包含非西欧字符的字符串时,系统也会将这些字符转换成appl原创 2017-03-20 16:31:17 · 713 阅读 · 0 评论 -
解决部分乱七八糟的厂商SD卡路径乱放导致无法读取的问题
SDcardScanner目前来看,基本解决了部分乱七八糟的厂商SD卡路径乱放导致无法读取的问题。可以看这个文章http://www.androidcycle.com/?p=81用法将StorageUtils和StorageBean代码copy到自己的工程。ArrayListStorageBean> storageDatas = StorageUtils.getSt转载 2017-04-03 16:25:09 · 604 阅读 · 0 评论 -
活动的启动模式
活动的启动模式对你来说应该是个全新的概念,在实际项目中我们应该根据特定的需求 为每个活动指定恰当的启动模式。启动模式一共有四种,分别是standard、singleTop、singleTask 和singleInstance , 可以在AndroidManifest.xml 中通过给 标签指定 android:launchMode 属性来选择启动模式。下面我们来逐个进行学习。standardst原创 2016-06-15 10:31:48 · 368 阅读 · 0 评论 -
Android 中使用第三方自定义字体
安卓上使用自定义的字体比较简单,在assets文件夹下面,自己定义一个font文件夹,然后,把自己的字体放进去,对相应的TextView设置自定义字体。第一步:在自定义的MyApplication中初始化字体调用方法。原创 2016-05-23 11:08:37 · 921 阅读 · 0 评论 -
android view实现onclick单击,doubleclick双击回调,而且不冲突。
private long firstClickTime = 0;private long secondClickTime = 0;private boolean isDoubleClick;private void OnClick() { if (firstClickTime > 0) { secondClickTime = System.currentTimeMi转载 2017-09-26 15:02:26 · 602 阅读 · 0 评论 -
Android实现长时间等待界面
Android 实现等待界面,一般我们在执行比较费时的操作时,不能让界面线程阻塞,否则android发现太长时间阻塞的话,会弹出关闭该应用的对话框,所以我们一般把比较耗时的操作放在另一个线程去执行,然后界面线程该干什么干什么,等操作完成后,再通知界面线程完成相应的操作即可。Message可以传回不同类型的值,可以应对不同需要。//声明变量private Button b1;转载 2017-08-23 16:14:57 · 4758 阅读 · 0 评论 -
android 隐藏状态栏 和导航栏 触碰屏幕边界不被显示
android 影藏状态栏 和导航栏 触碰屏幕边界 转态栏和导航栏 又重新显示 体验不好,前提是 我已经通过点击自己定义的控件 控制 可见与不可见@Overridepublic boolean onTouchEvent(MotionEvent event) { return true;}重写 onTouchEvent 返回值为true 点击事件进行拦截 禁止下传原创 2017-08-16 17:35:40 · 1004 阅读 · 0 评论 -
@SerializedName注解
在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。 Gson解析json的方法我这里就不详细说明了,网上一大把的例子,我这里主要说一下使用@SerializedName进行注解的情况。 使用Gson解析json成对象时默认的是将json里对应字段的值解析到java对象里对应字段的属性里面。然后我们经常会遇到我们自己定义的ja转载 2017-08-16 11:30:56 · 598 阅读 · 0 评论 -
android在activity中锁屏解锁后重走OnCreate的问题的解决办法
在项目中,遇到了需要在某个activity中根据不同的情况下设置为横屏或竖屏,而且不因重力感应改变方向。因此刚开始我没有在manifest里指定方向,而是在代码中强制设置屏幕的方向setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//当前activity强制设置为横屏 或者是se原创 2017-08-14 18:46:55 · 1067 阅读 · 0 评论 -
将list按blockSize大小等分,最后多余的单独一份
//将list按blockSize大小等分,最后多余的单独一份 public static List> subList(List list, int blockSize) { List> lists = new ArrayList>(); if (list != null && blockSize > 0) {转载 2017-08-10 11:06:10 · 357 阅读 · 0 评论 -
photoview与drawerlayout滑动冲突-ArrayIndexOutOfBounds
在做软件开发的时候,我在其中一个drawerlayout布局中放置了一个photoview控件,支持拉伸缩放的控件,但是在运行的时候,当我放大照片或者缩小图片时,程序会因异常而停止。查看错误日志显示 java.lang.ArrayIndexOutOfBounds,经过查询资料,我重写了drawlayout的onInterceptTouchEvent方法,详细代码如下[jav原创 2017-06-22 15:18:09 · 379 阅读 · 0 评论 -
Fragment出现点击穿透事件,其他fragment中的控件点击被响应了
fragment的穿透点击,只有当前的fragment的空白区域中才会出现这个情况,如何解决呢,两种方法解决: 1,在fragment的根布局中添加Android:clickable=”true” 这个属性(推荐首选这个); 2,因为当前的fragment的空白区域没有空间,才会造成可以穿透fragment实现另外的fragment的控件可点击,所以,我们在布局的时候,如果条件允许的话转载 2017-04-24 11:51:21 · 880 阅读 · 0 评论 -
android:descendantFocusability用法简析
开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者C转载 2017-04-21 15:54:59 · 329 阅读 · 0 评论 -
Android 选择日期时间对话框(可选择开始结束时间,已解决弹出键盘问题)
http://blog.youkuaiyun.com/w18756901575/article/details/51456178转载 2017-04-20 15:31:20 · 3011 阅读 · 0 评论 -
svn: Aborting commit: 'E:\myeclipse\workplaces\……“ remains in conflict
在工程上进行提交(Commit)操作时,报以下错误:svn: Aborting commit: 'E:\myeclipse\workplaces\……“ remains in conflict原因分析:之前我将VoiceRequestAction.java文件删除,此文件在svn上就不存在了,所以在进行提交操作时会冲突。此问题一般都是由于删除了某些文件引起的。解决方法:转载 2017-04-10 11:41:24 · 953 阅读 · 0 评论 -
UI设计中px、pt、ppi、dpi、dp、sp之间的关系
http://mt.sohu.com/20150724/n417458129.shtml转载 2016-12-08 13:54:22 · 1231 阅读 · 0 评论