Android开发
文章平均质量分 94
ahuyangdong
Java Web + Android
展开
-
Android实现自定义各类Dialog对话框和样式美化(含Toast)
背景基本上每个APP中都会使用到Toast和Dialog,但多数时候我们有自定义样式、功能的需求,例如Toast需要做单例形式、Dialog需要调整样式等。本文中涉及的自定义效果演示如下:思路Toast系统中的Toast在使用时无法做到单例的效果,如果用户连续多次点击某个触发操作,则Toast会做出类似堆栈调用,即使退出应用,也会一次次的相继弹出,直到调用次数响应完为止,在自定义的过程中,除了样式意外,着重将Toast做成单例类。Dialog利用AlertDialog的getWindow().原创 2021-08-19 10:56:06 · 7149 阅读 · 0 评论 -
Android实现App版本检测、下载与安装新版本apk
背景很多Android应用都内置了新版本检测与在线更新功能,这个简单的功能主要包括检测、下载、安装三个环节,演示效果如下:下载完成以后,自动打开apk,跳到安装界面,交由用户操作:思路想要实现上述功能,主要是分三个步骤来进行:App端向服务端发送网络请求,获取App的最新版本号信息,进行比较,如果服务端返回的版本号大于当前App的版本号,则开启第二步,下载新版本App;有新版本App时,开启下载,并在界面上给出下载进度提示,增加交互性;在下载达到100%的进度时,通过代码打开apk实现安原创 2021-08-06 16:06:11 · 6221 阅读 · 1 评论 -
Android实现自由单选、复选按钮效果+样式美化(二)
背景Android实现自由单选、复选按钮效果+样式美化已经实现了自由单选、复选效果,但是demo中选择按钮控件没有做到自动换行的自适应布局,本次使用FlexboxLayout来支持自适应布局。效果如下:思路想要实现自适应布局,需要让按钮外部的控件支持内部元素动态排版,之前使用的LinearLayout不支持内部自动换行。实现此目标需要涉及到布局计算等知识,有两种方式来做:1、自己写一个支持内部元素自适应布局的组件,元素达到最大宽度时,自动换行到下一行;2、找一个现成的组件包来使用。所幸的是g原创 2020-07-29 17:45:10 · 1973 阅读 · 0 评论 -
Android花样loading进度条(一)-水平的网页加载进度条
背景Android花样loading进度条系列文章主要讲解如何自定义所需的进度条,包括水平、圆形、环形、圆弧形、不规则形状等。 本篇我们从水平进度条讲起,主要是ProgressBar的水平样式应用。进度条控件Android提供的ProgressBar控件有水平、圆形两种形态,套用不同的主题可以实现不同的大小,基本上美观一点的设计在实现的时候都需要自定义ProgressBar样式。 ...原创 2018-04-10 21:16:13 · 4070 阅读 · 0 评论 -
Android花样loading进度条(三)-配文字环形进度条
背景Android花样loading进度条系列文章主要讲解如何自定义所需的进度条,包括水平、圆形、环形、圆弧形、不规则形状等。 本篇我们继续从圆环形进度条讲起,讲配文字的环形进度条,不仅有进度色彩,还有进度提示和文字说明,主要是使用Canvas绘制圆和圆弧、绘制文字。效果先上图看效果,这里有4个进度条,样式上有微妙区别,基本都属于一个类别的进度条了。 4个进度条基本上分...原创 2018-04-23 20:07:39 · 3918 阅读 · 3 评论 -
Android仿微信底部菜单栏+今日头条顶部导航栏
背景Android应用几乎都会用到底部菜单栏,在Material Design还没有出来之前,TabHost等技术一直占主流,现在Google新sdk中提供了TabLayout类可以便捷的做出底部菜单栏效果。本节我们实现两种主要的Tab效果: 1. 仿微信底部菜单 2. 仿今日头条顶部导航条效果预览: 底部菜单Tab一般与Activity或Fragment配合使用,以达到...原创 2018-09-12 20:08:27 · 29645 阅读 · 26 评论 -
Android实现自由单选、复选按钮效果+样式美化
背景Android开发中会遇到将单选按钮排布在多行的情况,一般只能通过自定义控件的形式,绘制单选按钮,网络上也有很多这样的文章,但一般情况下自定义的控件在界面美观性、效果方面稍有欠缺。因此,我们打算用CheckBox+LinearLayout来实现一种多行单选按钮组的效果。效果如下:思路Android中要实现单选按钮要用到RadioGroup+RadioButton的布局结...原创 2018-09-17 21:45:16 · 14759 阅读 · 11 评论 -
Android网络框架Retrofit2使用封装:Get/Post/文件上传/下载
背景Android开发中的网络框架经过多年的发展,目前比较主流的就是Retrofit了,Retrofit2版本出现也有几年了,为了方便使用,特封装了一些关于Retrofit2的代码,分享给大家。框架主要包括:Get请求Post请求文件上传文件下载使用效果预览:Retrofit对象Retrofit框架内部使用的还是OkHttp框架,在实例化的时候可以自定义OkHttpClie...原创 2018-10-03 21:27:00 · 12785 阅读 · 22 评论 -
Android花样loading进度条(四)-渐变色环形进度条
背景Android花样loading进度条系列文章主要讲解如何自定义所需的进度条,包括水平、圆形、环形、圆弧形、不规则形状等。 本篇我们对配文字环形进度条稍加变换,将圆环颜色改为渐变色的形式,使得进度条更具有色彩性,其他内容同上一篇Android花样loading进度条(三)-配文字环形进度条,主要是使用Canvas绘制圆和圆弧、绘制文字。效果先上图看效果,这里有4个进度条,样...原创 2018-12-16 21:24:38 · 3901 阅读 · 1 评论 -
Android实现二维码扫描功能(五)-封装与接入ZXing扫码库
简介《Android实现二维码扫描功能》系列文章陆续收到不少开发者的反馈,看到大家这么关注这个专栏,最近抽空对ZXing扫码和生成二维码又做了优化,封装了一个Android library:zxing-lib,这样在接入应用的过程中会更加方便。预览在zxing-lib库的基础上做了新版的demo,新添加了生成二维码功能,预览效果如下:(由于录像的mp4转换gif过程中存在失真,色彩有点奇怪,...原创 2019-04-22 10:40:11 · 12993 阅读 · 37 评论 -
Android花样loading进度条(二)-简单环形进度条
背景Android花样loading进度条系列文章主要讲解如何自定义所需的进度条,包括水平、圆形、环形、圆弧形、不规则形状等。 本篇我们从圆形进度条讲起,讲简单形式的环形进度条,只有进度色彩,没有进度文字,主要是使用Canvas绘制圆和圆弧。效果先上图看效果,这里有6个进度条,样式上有微妙区别,基本都属于一个类别的进度条了。 6个进度条基本上分为3类:背景条与进度条...原创 2018-04-14 18:19:09 · 9733 阅读 · 2 评论 -
Android WebView下拉刷新与SwipeRefreshLayout事件冲突解决
简介本篇介绍WebView下拉刷新方法,另外解决SwipeRefreshLayout与WebView嵌套布局时滑动事件冲突的解决办法。效果下拉刷新SwipeRefreshLayout控件可以优雅的完成下拉事件监听。 1、布局文件:<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe_fresh" a原创 2017-09-01 19:29:40 · 10834 阅读 · 16 评论 -
Android滑动卡TabLayout+ViewPager布局捕获不到返回键Back事件解决办法
简介在APP的主页,我们一般都是用Tab卡+ViewPager的方式来构造。这里要说的情况是ViewPager中嵌套的是Activity。(主页个人喜欢用Activity来做ViewPager的视图)视图布局如下: 目标我们需要在主页上做事件判断,如果用户连续两次按下返回键,就退出APP,按下一次时给出提醒“再按一次确认退出”。初步实现在MainActivity中覆写onKeyDown方法,判断返原创 2017-08-28 12:41:41 · 1224 阅读 · 0 评论 -
Android沉浸式状态栏实现(半透明浮动状态栏)Activity全屏显示
看到好多人对“沉浸式”这个词的释义,学到了点,不过这里我只是关注通知栏是否透明,且不影响我APP UI的布局即可。先来看对比图:默认的造型:沉浸式处理后的造型:实现步骤如下:Step1. 下载SystemBarTint开源库,拷贝或引入其中的SystemBarTintManager.java至本项目中下载地址:https://原创 2016-06-21 15:24:26 · 9346 阅读 · 10 评论 -
Android中设置APP应用字体不缩放,文字不随系统字体大小变化
应用场景APP在运行时需要保持字体大小(比例)固定,按照编程设定的大小显示。当Android系统字体大小被修改时,不影响APP中文字的大小。为什么要固定字体比例?因为APP界面中文字元素的放大或缩小,会影响APP的呈现效果。有的时候为了界面美观和可用,我们需要做下限制,使用系统默认的字体比例关键方法在应用启动时,在Application的onCreate方法中将APP中的res配置设置为默认。见代码原创 2017-01-14 15:52:37 · 14018 阅读 · 1 评论 -
Android项目中如何清理无用的资源文件或代码
应用场景Android项目已经完成前期开发并逐渐趋于稳定,项目中前期调试和测试使用到的drawable和string等变量将可能再不会使用,为了后期维护方便和代码项目整洁度,考虑清理掉项目用无用的图片、xml、string和color变量定义等。清理方法利用android sdk中的tool中的lint.bat工具查找出没有被关联的资源列表,按照资源列表内容进行逐个删除(手动),目前还没有在意是不是原创 2017-01-11 15:57:10 · 4298 阅读 · 4 评论 -
Android设置Activity切换动画
目的改变Activity切换默认的动画效果。方法修改Activity的theme属性。步骤1、修改全局theme或自定义一个theme<style name="AppTheme" parent="AppBaseTheme"></style>2、修改theme中的属性,改变动画主题。<style name="AppTheme" parent="AppBaseTheme"> <i原创 2017-07-08 15:38:49 · 1635 阅读 · 3 评论 -
Android实现二维码扫描功能(一)-ZXing插件接入
简介关于Android扫描二维码的功能实现,网上有很多相关资料。在对比之后,选用了前辈了修改过的zxing直接接入到项目中,特制作此demo,介绍整个过程。效果预览先上图展示效果(模拟器没有摄像头,录出来效果不好,将就看) 集成步骤1、拷贝本项目demo中的com.google.zxing5个包引入到自己的项目中。 2、拷贝本项目demo中的布局activity_scanner.xml和to原创 2017-07-30 20:34:08 · 48187 阅读 · 84 评论 -
Android实现二维码扫描功能(二)-ZXing个性化与近距离识别优化
简介上一篇Android实现二维码扫描功能(一)-ZXing插件接入介绍了ZXing框架接入方法,已经可以初步集成扫码功能到项目中。本篇我们对扫码界面进行优化,并对ZXing近距离无法识别的问题做出优化。个性化定制每个APP都有自己的表现形式,实现个性化扫码界面定制,主要有两个地方:activity_scanner.xml界面文件com.google.zxing.view.ViewfinderV原创 2017-07-30 21:41:41 · 21643 阅读 · 8 评论 -
Android中org.json.JSONObject按键取值报JSONException解决方法
应用场景在各类接口转换时,使用到JSONObject转换bean或取某个key值时。报异常原因当key在JSONObject中不存在时,无法取到相应的值,此时JSONObject会抛出JSONException。看源码: /** * Returns the value mapped by {@code name}. * * @throws JSONExceptio原创 2017-01-14 16:16:32 · 3548 阅读 · 0 评论 -
Android实现二维码扫描功能(三)-闪光灯控制
简介上一篇Android实现二维码扫描功能(二)-ZXing个性化与近距离识别优化介绍了ZXing框架个性化定制和识别优化方法。本篇我们对光线暗淡情况下闪光灯的使用做出介绍。效果晚上测试时:开灯后: 未开灯: 实现步骤1、在activity_scanner.xml界面上加上闪光灯开关按钮。可以是Button、Checkbox等控件。<LinearLayout xmlns:android="http原创 2017-08-06 20:17:54 · 6325 阅读 · 0 评论 -
Android实现二维码扫描功能(四)-ZXing识别图片二维码,相册选图
简介上一篇 Android实现二维码扫描功能(三)-闪光灯控制介绍了光线较弱情况下开启闪光灯来辅助二维码识别的方法。本篇我们介绍如何识别相册中的图片(含二维码)效果因为模拟器文件路径有问题(也可能是我没琢磨对),就没有录制gif了,这里放几张过程图。 实现步骤1、com.google.zxing.activity.CaptureActivity中实现点击“相册”功能。private View.On原创 2017-08-22 20:53:49 · 34198 阅读 · 37 评论 -
Android开发中,使用线程下载apk文件,出现FileNotFound的问题,解决办法
先贴出下载apk的代码原创 2014-07-30 17:48:14 · 2426 阅读 · 0 评论