首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
安卓UI
订阅
雷人的生活
更多收藏集
微信扫码分享
微信
新浪微博
QQ
78篇文章 · 0订阅
优雅地修改 TabLayout 指示线 Indicator 的宽度
在工作中,经常会碰到把标签栏指示线的宽度,做的和文字宽度一样,甚至比文字宽度还要短的设计。使用 TabLayout 我们可以快速实现一个 Material Design 风格的标签栏,但 TabLayout 的指示线 Indicator 默认是占满一格 Tab 的,且未直接提供…
Android 自定义View:处理事件分发(四)
有时,你必须要自己处理触摸事件(touch events)而不能依赖于有可用的onSomethingListener。我就遇到过这样的时候,当时我很想有一篇文章能简单地解释触摸事件是怎样在视图层次(view hierarchy)中传播的,从而可以将之作为进一步深入学习的起点。这…
Android Drawable 简析
Drawable 是开发中经常用到的一个概念,我们经常用它去设置 View 的背景,背景可以一个颜色值,也可以是一张资源图片,还可以是一个自定义的 Drawable等等。这篇文章就简单说下 Drawable 与 View 的关系,同时结合代码,简要分析一下 Drawable 如…
Android的UI显示原理之Surface的创建
本文是Android视图层源码分析系列第二篇文章,通过上一篇文章深入剖析Window组成已经了解到WindowManager.addView(contentView)最终会交给WindowManagerService处理,WindowManagerService会创建这个con…
Android 使用 Java 代码设置 selector 或 drawable,以及使用自定义控件方式使用它
简化对 selector 或者 drawable 的操作,比如 TextView 想设置圆角,只需要调用几个方法就好了
Drawable Resource 之旅(二):ShapeDrawable 详解与应用(仿微信雷达扫描)
一、前言 在我们的日常开发中,需要大量的图片来美化我们的 APP,图片的大量使用在增强 UI 的美观性外,也带来诸多的问题,比如:导致程序出现 OOM(内存溢出)、APK 体积变的十分臃肿,内存泄露等 。事实上,在大部分情况下,我们都可以通过 ShapeDrawable 来绘制…
Android技能树 — Drawable小结
我们可以看到我们的图片实际上变的很大,所以最终的图片大小不一定是它固有宽/高。 所以对于这个图片,它的固有高/宽是它原本图片的大小,而实际上当最为我们ImageView的背景后,被拉伸至于View同等大小了。而且对于一些我们自己画的Drawable,不像图片那样,有自己原本的尺…
Android Selector的简写
在Android中,我们需要实现一个View的点击或选中样式的改变,大多数情况下我们都是使用drawable文件,也就是selector,shape等组成的资源文件。大致套路如下的常规写法: 比如新建一个正常状态下的shape文件sp_normal.xml,选中状态的sp_ch…
Android View 源码解析(三) - View的绘制过程
View的getMeasuredWidth()和getMeasuredHeight()方法来获取View测量的宽高,要必须保证这两个方法在onMeasure流程之后被调用才能返回有效值。 在现在这个金三银四的面试季,我自己在网上也搜集了很多资料做成了文档和架构视频资料免费分享给…
Android 自定义View基础(一)
对于每个你想自定义的属性你需要定义attr节点,每个节点有name和format属性,format属性是我们期望的值的类型,比如color,dimension,boolean,integer,float等。一旦定义好了属性,你可以像使用自带属性一样使用他们,唯一的区别在于你的自…