Android学习
Chook_lxk
你前程有在,但须澄心猛省,不可自甘堕落。
展开
-
AS被坑过的那些事...(持续更新)
最近刚开始接触Android开发,开始用的Eclipse,因为已经被Google遗弃了,各种不方便,之后下载了Google的亲儿子…Android Studio。在使用的过程中,也存在着这样那样的问题。所以在这里整理一下,希望我踩过的坑可以帮到你们。 1.xml没有代码提示了,并且显示Unknown attribute… 解决办法:试过各种的解决方案,关闭节电模式,删除imi文件,初始化AS都...原创 2018-10-20 10:29:04 · 208 阅读 · 0 评论 -
添加Android6.0动态权限获取的BaseActivity封装
说明 Android6.0新特性中增加了对危险权限的动态获取。如果SDK>=23的安卓系统在对危险权限操作时没有进行权限动态获取,系统将停止运行。 对任意一项危险权限的动态获取都包含权限的检查、权限获取及权限返回响应三部分,如果不进行封装,会导致代码冗余严重,不方便使用。 所以可以通过对Activity进行封装,增加对权限的动态获取即可。 危险权限 封装类代码 import android...原创 2018-12-27 18:35:03 · 567 阅读 · 0 评论 -
Bitmap高效缓存(一) 利用BitmapFactory的Options类压缩位图
安卓开发中,加载图片是一件非常费时费力的事,尤其是对于ListView这种需要加载大量图片并且存活时间短的对象来说,如果不用一些高效加载的方法,对内存的占用是不可估量的,并且很容易出现OOM异常。在对网络图片进行加载时,如果每次都从网络中下载原图资源,不仅花费大量的流量,而且很可能会造成图片加载不及时的现象,影响用户的体验。所以对图片加载的优化是必需的。 最近刚开始接触Android开发,在做一个...原创 2018-12-27 22:38:13 · 911 阅读 · 0 评论 -
Bitmap高效缓存(二) LruCache类实现缓存图片到内存
上一节通过使用BitmapFactory的Options类进行图片的压缩来实现图片加载优化。但是同一资源如果要进行频繁的访问,显然每一次都从网络上下载资源显然是不合理的,所以要用到缓存机制。将网络资源下载后放到本地或内存,之后就可以直接获取本地资源而不用下载资源。 方法二 LruCache类实现缓存图片到内存 LRU算法是近期最少使用算法,普遍应用在操作系统的内存管理上。当存储空间满了之后,它会删...原创 2018-12-28 00:34:42 · 301 阅读 · 0 评论 -
APP主页面Tab实现(二) Fragment实现Tab
2.Fragment 动态加载Fragment也可以实现Tab选项卡点击切换,但是不能实现页面的滑动,单纯比较ViewPager来说,不同页面的初始化和监听操作可以在对应的Fragment类内定义,减少了代码的检查维护代价。 2.1 主xml布局中添加FrameLayout <include layout="@layout/market_header"/> <Frame...原创 2019-01-03 16:44:31 · 405 阅读 · 0 评论 -
APP主页面Tab实现(三) ViewPagerIndicator+ViewPager实现Tab
3. ViewPagerIndicator+ViewPager ViewPagerIndicator是一个开源库,通过ViewPagerIndicator+ViewPager可以实现页面的点击和滑动效果,与UnderlinePageIndicator结合使用可以实现Tab下面的下划线滑动效果 3.1 导入ViewPagerIndicator //在对应module添加即可 implementati...原创 2019-01-03 20:49:20 · 374 阅读 · 0 评论 -
APP主页面Tab实现(四) ViewPager+FragmentPagerAdapter
4. ViewPager+FragmentPagerAdapter ViewPager可以实现滑动效果,不同页面使用Fragment,便于代码管理。 4.1 主xml布局文件 <include layout="@layout/market_header"/> <android.support.v4.view.ViewPager android:i...原创 2019-01-03 23:28:17 · 237 阅读 · 0 评论 -
App主界面Tab实现(一) ViewPager实现Tab
1. ViewPager ViewPager是V4包里面的一个类,可以通过ViewPager实现点击和滑动效果。但是需要把不同页面的初始化和所有点击事件写在一个Activity,导致代码查看和维护很困难。 1.1 首先主XML中是一个ViewPager加一个Tab导航栏 <include layout="@layout/market_header"/> <android...原创 2019-01-03 13:45:42 · 293 阅读 · 0 评论