自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Android ConstraintLayout使用进阶

前言曾经Android有五大布局,LinearLayout、FrameLayout、TableLayout、RelativeLayout和AbsoluteLayout,那会我们比较常用的布局就两三个,写xml的时候根据界面灵活选择布局,但是往往会面临布局嵌套过深的问题,阅读也不方便。随着Android生态的发展,Google后来推出了新的布局——ConstraintLayout(约束布局)。我很快去学习并将其用在项目中,刚开始的时候觉得比较抽象难懂,各种不适应;一段时间过后,这玩意儿真香!本文不打算讲

2020-10-22 14:20:11 1624 3

原创 Android Material组件使用详解

前言我们在平时写布局时,当遇到按钮需要圆角、或者描边等,通常的方法是新建一个xml文件,在shape标签下写,然后通过setBackground(drawable)设置。这本来没什么问题,但是射击师会喜欢看起来和别人不一样的效果,也许是为了审(zhuang)美(bi),这个页面用4dp的圆角,那个页面用10dp的圆角,还要有描边……如果我们每个界面都新建个xml写shape,那么后期维护起来就像...

2019-09-23 14:01:37 26042 6

原创 Android接入抖音分享踩坑之旅

前言抖音作为日活量过亿的产品,在今年年初,也终于上线了抖音开放平台,目前支持应用接入登录与分享。刚好项目有个新需求,需要集成抖音登录与分享,由此开始了各种坑……抖音开发者文档:https://open.douyin.com/platform/doc#key=Android-guide导入依赖1、在项目根目录build.gradle里添加maven:allprojects { r...

2019-09-21 20:14:05 2507

原创 Android BottomSheetDialog使用,实现网易云歌单底部弹窗

概述日常app开发中,对话框无疑是交互非常方便的载体,无论是app更新提示对话框还是评论列表对话框,可以减少不必要的页面跳转。今天我们的主题是Design Support Library中新增的控件BottomSheetDialog,顾名思义,就是底部弹出,下滑关闭的对话框。没图没真香,我们先来看看效果图:效果图网易云效果demo效果(丑了点,见谅)基本使用1、导入依赖impl...

2019-04-10 13:43:25 3670 7

原创 Android使用Rxjava、Retrofit处理json解析异常,只看这一篇就够了

日常开发的时候,避免不了与后台打交道,最常见的就是前端发送请求,后台返回数据,然后将拿到的数据进行展示。这里,我使用的是Rxjava、Retrofit结合。1、导入需要的Rxjava、Retrofit依赖://retrofit2implementation 'com.squareup.retrofit2:retrofit:2.5.0'implementation 'com.squareup...

2019-02-18 15:00:59 7179

原创 Android仿微信无网络保存图片到相册

今天在微信预览大图时,发现其在无网络的情况下也可以保存图片,我觉得这是个常见的需求,所以动手实现类似的需求,中间也踩了挺多坑,所以跟大家一起分享我踩过的坑。知识点概览1、Glide如何获取缓存的图片2、Android文件的拷贝3、保存的图片如何通知系统更新图库=============分割线============1、Glide如何获取缓存的图片Glide4.x以下,加...

2018-05-08 18:48:22 1222

原创 Android Handler的简单使用——随机点名案例

前言我们知道,Android的UI线程也叫主线程,工作线程(子线程)主要是负责执行耗时操作的线程,如果我们在子线程处理完事物后,需要通知UI线程更新界面。那么,子线程如何通知UI更新呢,这个就是通过Handler机制发送的消息来执行。概念首先来简单阐明一下几个关键字的概念:1、Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队...

2015-10-31 20:30:30 3784 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除