6 攻城狮!

尚未进行身份认证

累,证明还活着,继续向前!

等级
TA的排名 10w+

使用Glide实现在非WiFi环境手动点击下载图片(判断Glide是否缓存了图片)

1、概述Glide作为Google推荐的一套快速高效的图片加载框架,有很多人都在使用,我也不例外。不过在项目的需求中,难免会遇到一个这样的需求:在非WiFi环境下,需要手动点击才能下载图片。 这初步实现起来是很简单的,但一些细节却不好解决。比如,在使用移动数据的情况下,我不能去自动加载图片,但已经缓存过的图片我们得让他自动显示出来。这个时候我们会发现,Glide没有直接的、明确的接口去立马判断某图...

2018-03-06 11:15:53

高德SDK使用jcenter/maven远程获取类库及so解决方案

使用条件:1.    IDE环境为AndroidStudio2.    网络可以访问到jcenter或maven使用步骤:1.    在module的build.gradle中添加maven或jcenter仓库地址(Android Studio默认会在project的build.gradle为所有module自动添加jcenter的仓库地址,如果已存在,则不需要重复

2017-06-16 11:37:57

Android也能流畅实现毛玻璃效果(高斯模糊)效果

前言上图就是我们在IOS设备上经常能够见到的毛玻璃(高斯模糊)效果。不得不说,这种效果在适合的场景下使用,能够获得绝佳的美感。但是鉴于Android设备性能和兼容性问题,我们通常很难在Android设备上见到这种效果。但这并不是IOS的专利效果,Android也能轻松流畅的实现。本篇文章将会详细的讲解如何实现。Android中的高斯模糊第一在我为什么选择Render

2017-05-23 17:17:39

结合TabLayout 、ViewPager 、 Fragment 实现顶部导航栏,最实用!!!

说明:因为我习惯实用DataBinding,所以本文使用了DataBinding 的知识,如果对 DataBinding 还没有一点了解的强烈建议大家一定先去了解一下 DataBinding 相关的知识Android DataBinding 详解)。下面我们开始一步步来实现:1.首先我们先来创建所需要的 Fragement 以及相对应的布局文件,这里我们拿首页 HomeFr

2017-05-22 17:05:41

Bugly 多渠道热更新解决方案

有很多同学可能会采用配置productFlavors来打渠道包,主要是它是原生支持,方便开发者输出不同定制版本的apk,举个例子:android {    ...    defaultConfig {        minSdkVersion 8        versionCode 10    }    productFlavors {        flavor1 {

2017-05-22 14:43:19

沉浸式管理:让你的APP更优雅

前言       自从android4.4开始,android手机状态栏再也不是一成黑的时代,之前叫做变色龙,miui6发布会把他叫做沉浸式,之后大家就自然而然的接受了沉浸式这个名称,其实实际应该叫做Translucent Bar,即为透明状态栏。       沉浸式实现原理其实是使整个activity布局延伸到整个屏幕,然后使状态栏变成透明色,有些手机会有导航栏,同样也可以把

2017-05-22 14:30:54

如何看待 Kotlin 成为 Android 官方支持开发语言?

Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言。一时间朋友圈和Android圈被各种刷屏。当然我也顺势而为发布了一篇的文章《为什么我要改用Kotlin》,着实狠狠地蹭了一波热度(尽管这样会被鄙视)。眼下Android圈已经躁动了,甚至严重到如果对Kotlin视而不见就显得自己不像一个合格的Android程序员。本文尝试从一个客观全面一点儿的角度来看待

2017-05-22 14:15:37

在Adnroid 中常用的图片高斯模糊技术

近年来,图片高斯模糊备受设计师的青睐,在各大知名APP中,如微信、手机QQ、网易云音乐等等都有对背景高斯图模糊的设计。。。

2017-05-22 13:57:31

android中对于枚举的自定义实现

public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this

2016-08-19 20:18:33

EventBus使用详解(二)——EventBus使用进阶

一、概述前一篇给大家装简单演示了EventBus的onEventMainThread()函数的接收,其实EventBus还有另外有个不同的函数,他们分别是:1、onEvent2、onEventMainThread3、onEventBackgroundThread4、onEventAsync这四种订阅函数都是使用onEvent开头的,它们的功能稍有不同,在介绍不同之前先介绍两个概念

2016-05-11 12:55:44

EventBus使用详解(一)——初步使用EventBus

一、概述EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。1、下载EventBus的类库源码:https://github.com/greenrobot/EventBus2、基本使用

2016-05-11 12:52:29

Android通用流行框架大全

差不多快一年时间没更新博客了,各位也是对不住啦,今天闲下来突然朋友叫我关注他博客,所以才想起来必须要更新啦啦啦!!!先上一个目前流行的框架,这是转载朋友的,觉得挺全,所以转给大家看看,以后争取每个工作日更新一下博客,发表一些最近觉得有意义的文章,包括解决问题的方法。各位喜欢,就关注我吧!

2016-05-11 11:09:28

一键解决ScrollView嵌套ListView只显示一行的问题

/** * 解决ScrollView嵌套ListView只显示一行的问题 * * @param listView */ private void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (lis

2015-07-16 09:33:08

二级菜单关联

完整源码请加我微信:w782515516,或关注博客,会有更多惊喜哦!

2015-06-26 09:01:46

以dialog的形式弹出定位地图

dialog = new Dialog(context, R.style.dialog); // 自定义dialog宽和高 // setDialog(); View viewMap = LayoutInflater.from(context).inflate( R.layout.dialog_baidumap, null); iv_close = (Image

2015-06-19 16:41:47

获取当前地址

当然还需要最重要的一个类,有需要的朋友可以加我微信后给你哦!微信号:w782515516

2015-06-19 16:37:32

很炫的Button效果

PathButtonActivitypackage cn.com.karl.anim;import com.zdp.aseo.content.AseoZdpAseo;import android.R.anim;import android.app.Activity;import android.content.Intent;import android.os.Bundle;im

2015-06-19 16:33:45

百度地图删除标尺,logo,缩放按钮

mMapView = (MapView)findViewById(R.id.mapView);mMapView.showScaleControl(false); int count = mMapView.getChildCount(); for (int i = 0; i < count; i++) { View child = mMapView.getChildAt(i);

2015-06-19 15:57:51

CheckBox复选框

代码很少很简单,不过还是写的详细点吧1.Activity继承PreferenceActivitypublic class MainActivity extends PreferenceActivity { private Context context; @Override protected void onCreate(Bundle savedInstanceState) { su

2015-06-16 14:12:53

GridView长按删除

private boolean isShowDelete = false;@Override public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { if (isShowDelete) { isShowDelete = false; // 不显示删除图标

2015-06-09 18:34:17

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!