
ProgressBar及其样式使用详解
ProgressBar1、基本使用和普通控件一样,在布局中添加ProgressBar,布局中设置一些属性还可以在代码中设置一些属性:2、二级进度:secondaryProgress一般缓存,下载进度显示都会用到二级进度条,使用android:secondaryProgress设置。场景:音乐缓存的进度就可以是android:secondaryProgress,而音乐播放进度就是android:pr
# 标签
共 118 篇文章

ProgressBar1、基本使用和普通控件一样,在布局中添加ProgressBar,布局中设置一些属性还可以在代码中设置一些属性:2、二级进度:secondaryProgress一般缓存,下载进度显示都会用到二级进度条,使用android:secondaryProgress设置。场景:音乐缓存的进度就可以是android:secondaryProgress,而音乐播放进度就是android:pr

布局优化 & 过度绘制检测1、选择合适布局一开始就选择一个合适的根布局,是明智的选择。合理的构思有利于减少布局层级。推荐如下优先选择:FrameLayout > LinearLayout > RelativeLayout·减少布局层级,层级越深,测量绘制越复杂耗时。布局应当宽而浅,而不是窄而深。·能用一层RelativeLayout布局最好·不要嵌套使用RelativeLayout布局,因为Rel

WebView简单入门WebView是非常复杂的控件之一,用的不多,简单记录一些基本用法。1、布局中添加WebView直接在布局中添加WebView控件2、WebView加载网页使用loadUrl方法。①可以加载网页链接。②加载assets/目录下的html页面,需要加上前缀file:///android_asset/。关于assets资源另见 assets资源 一文。设置完url,还不能加载页面

SpannableString1、SpannableString简介和String类似,不过SpannableString的功能更加丰富强大。给原本枯燥的文本添加各种功能和色彩。比如颜色、字体、超链接、表情、点击响应等功能。源码中关于SpannableString的解释如下:2、设置风格:SetSpan()关于SpannableString源码就70余行,除了几个构造函数,还有一个重要的方法set
Android 触摸事件剖析:从分发链到滑动冲突触摸是 Android 交互最基础的方式,但事件分发的"U 型链"、拦截与消费的规则、以及常见的滑动冲突,常常让人困惑——为什么子 ListView 收不到事件?为什么父布局一拦截,子 View 就再也滑不动?要彻底搞懂,必须理解事件分发的完整链路。本文从三个核心方法入手,讲透 MotionEvent 序列的流转与 mFirstTouchTarget
Android ScrollView 详解:从使用到原理与嵌套冲突ScrollView 是 Android 里最基础的"可滚动容器",看似简单,真到实战却处处是坑:嵌套 ListView 只显示一行、和 ViewPager 抢滑动、监听不到滚动方向、滚不到底、拉到边缘有碍眼的蓝色回弹……本文把 ScrollView 的基本使用、滑动监听、滚到顶底、滑动冲突、嵌套列表、消除回弹、底层原理一次性讲透—

NavigationView1、NavigationViewNavigationView是专为配合DrawerLayout的侧边栏使用的。关于DrawerLayout这里不多说了,详细用法参考我的另一篇博客抽屉布局DrawerLayout在布局文件中添加NavigationView,作为DrawerLayout的侧边栏拉出。注意属性layout_gravity="start",从左侧屏幕边缘拉出导

SwipeRefreshLayout 下拉刷新是经常遇到的场景,Android官方为我们提供了一个下拉刷新控件,准确的来说是容器。官方文档说明,SwipeRefreshLayout只能有一个子View,这一点和ScrollView一样。1、布局中添加SwipeRefreshLayout 使用SwipeRefreshLayout需要在build.gradle中添加额外的依赖,因为这属于materia

DrawerLayout大多数APP都会提供侧边菜单,在手机屏幕的左测或者右侧从外向内滑动拉出一个菜单。就是用DrawerLayout实现的,Android官方提供的侧边菜单栏。1、布局中添加DrawerLayoutDrawerLayout作为布局的根标签。主布局LinearLayout一定要放在紧接着第一个位置。而且大小一定要设置成match_parent2、添加侧边菜单在DrawerLayou

ViewFlipper同样是滚动视图,可以作为APP首页的banner。效果和ViewPager一样,名气却远不如ViewPager。1、使用ViewFlipperViewPager是通过设置ViewPagerAdapter添加数据的,如何向ViewFlipper中添加View呢?2、布局中添加子控件直接在布局中ViewFlipper节点下添加控件,所有在ViewFlipper节点下的控件都会被当

PreferenceScreen 设置项应用一般都有设置界面,这些通常通过SharedPreference保存在手机上(SharedPreference参考Android存储相关:SharedPreference),界面也要单独写。好在Android为我们提供了一个强大的设置界面PreferenceScreen。通过这个构建设置页面,点击界面切换设置的同时,后台也自动保存了相关数据。1、Prefe

网格视图:GridView拥有很多属性,都可以在布局中设置,也可以在代码中设置:代码:setStretchMode(int stretchMode)设置列表项如何拓展填充闲置空间的方式。可以设置下面常量值中的一个:常量值描述none0扩展无效spacingWidth1列与列之间的空间被扩展columnWidth2每一列被相等的拓展spacingWidthUniform3列与列之间的空间被均匀的扩展

拖动进度条SeekBar以前用到的ProgressBar都是显示给用户看的,用户不能操作。像视频进度条、音量控制条都是可以给用户操作,根据用户设定的值再操作。Android提供了这样的控件SeekBar。1、布局添加SeekBar的用法很简单,先看布局文件:2、代码设置给SeekBar对象添加一个SeekBar.OnSeekBarChangeListener监听器:效果:还可以通过设置drawab
Android ViewPager 切换动画详解:PageTransformer 从原理到实战ViewPager 默认的页面切换只是"水平平移",朴素到几乎没存在感。想做出"缩放淡化""3D 深度""旋转翻转"这类炫酷效果,靠的就是 PageTransformer——一个只有单个方法的接口,却是 ViewPager 动画的灵魂。本文从 position 参数的数学含义讲起,到两个官方经典实现、再到