- 博客(7)
- 收藏
- 关注
原创 Android ConstraintLayout使用进阶
前言曾经Android有五大布局,LinearLayout、FrameLayout、TableLayout、RelativeLayout和AbsoluteLayout,那会我们比较常用的布局就两三个,写xml的时候根据界面灵活选择布局,但是往往会面临布局嵌套过深的问题,阅读也不方便。随着Android生态的发展,Google后来推出了新的布局——ConstraintLayout(约束布局)。我很快去学习并将其用在项目中,刚开始的时候觉得比较抽象难懂,各种不适应;一段时间过后,这玩意儿真香!本文不打算讲
2020-10-22 14:20:11
1849
3
原创 Android Material组件使用详解
前言我们在平时写布局时,当遇到按钮需要圆角、或者描边等,通常的方法是新建一个xml文件,在shape标签下写,然后通过setBackground(drawable)设置。这本来没什么问题,但是射击师会喜欢看起来和别人不一样的效果,也许是为了审(zhuang)美(bi),这个页面用4dp的圆角,那个页面用10dp的圆角,还要有描边……如果我们每个界面都新建个xml写shape,那么后期维护起来就像...
2019-09-23 14:01:37
26442
6
原创 Android接入抖音分享踩坑之旅
前言抖音作为日活量过亿的产品,在今年年初,也终于上线了抖音开放平台,目前支持应用接入登录与分享。刚好项目有个新需求,需要集成抖音登录与分享,由此开始了各种坑……抖音开发者文档:https://open.douyin.com/platform/doc#key=Android-guide导入依赖1、在项目根目录build.gradle里添加maven:allprojects { r...
2019-09-21 20:14:05
2631
原创 Android BottomSheetDialog使用,实现网易云歌单底部弹窗
概述日常app开发中,对话框无疑是交互非常方便的载体,无论是app更新提示对话框还是评论列表对话框,可以减少不必要的页面跳转。今天我们的主题是Design Support Library中新增的控件BottomSheetDialog,顾名思义,就是底部弹出,下滑关闭的对话框。没图没真香,我们先来看看效果图:效果图网易云效果demo效果(丑了点,见谅)基本使用1、导入依赖impl...
2019-04-10 13:43:25
3811
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
7307
原创 Android仿微信无网络保存图片到相册
今天在微信预览大图时,发现其在无网络的情况下也可以保存图片,我觉得这是个常见的需求,所以动手实现类似的需求,中间也踩了挺多坑,所以跟大家一起分享我踩过的坑。知识点概览1、Glide如何获取缓存的图片2、Android文件的拷贝3、保存的图片如何通知系统更新图库=============分割线============1、Glide如何获取缓存的图片Glide4.x以下,加...
2018-05-08 18:48:22
1234
原创 Android Handler的简单使用——随机点名案例
前言我们知道,Android的UI线程也叫主线程,工作线程(子线程)主要是负责执行耗时操作的线程,如果我们在子线程处理完事物后,需要通知UI线程更新界面。那么,子线程如何通知UI更新呢,这个就是通过Handler机制发送的消息来执行。概念首先来简单阐明一下几个关键字的概念:1、Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队...
2015-10-31 20:30:30
3823
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人