
安卓开发笔记
文章平均质量分 68
JCwooo_0
这个作者很懒,什么都没留下…
展开
-
自定义控件的实现
以下内容整理自慕课网 Andoid UI模板设计自定义控件的实现主要步骤1.设计需要的属性2.实现一个我们要定义的View3.引用View,基本相同于引用系统的控件 这里,我们实现一个简单的Topbar为例,只有leftButton,tittle,rightButton三个部分原创 2017-01-09 14:25:00 · 262 阅读 · 0 评论 -
可展开的TextView
内容整理自Github https://github.com/Manabu-GT/ExpandableTextView很多时候我们在设置一个TextView的时候 需要显示很多的文字,但是在排版上并不需要在第一时间就显示出所有文字,而是根据用户需要可以展开/收缩整个TextView,而在收缩状态下只需要显示几行文字即可。这里 需要自定义一个LinearLayout ,包括两个字View原创 2017-06-27 14:01:32 · 457 阅读 · 0 评论 -
安卓6.0 的动态权限
安卓6.0之前对于应用权限的管理是在用户装载app的时候询问一次是否同意应用申请的权限,如果不同意,那么用户就不能继续安装app,而一旦选择了同意那就是同意了app申请的所有权限。这其实对用户是很不友好的,于是在安卓6.0也就是api23,谷歌推出了动态权限,也就是针对那一部分“危险”权限 ,例如定位,读取联系人,在应用使用过程中,随用随申请,用户可以选择接收或者拒绝,一般也是第一次选择之原创 2017-08-14 23:16:53 · 303 阅读 · 0 评论 -
bug排坑记录
bug报错如下java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity 经过排查 ,发现是Glide引发的报错,原因是在网速很慢的情况下,打开一个需要向服务器请求资源并用Glide加载的页面,在请求的服务器资源返回之前快速的finish掉这个页面,那么在请求结果原创 2017-12-08 12:00:09 · 311 阅读 · 0 评论 -
ScrollView内部嵌套Recyclerview,防止recyclerview自动获得焦点
ScrollView内部嵌套原创 2018-01-05 16:28:31 · 9077 阅读 · 3 评论 -
No view found for id xxxxxxx for fragment
项目是这样的 ,使用了多层fragment嵌套, 最内层是一个viewpager 包含多个fragment,需要拿到fragmentManager来做fragment的替换,于是使用方法 getChildFragmentManager()。发现疯狂报错No view found for id xxxxxxx for fragment,然后闪退。 排查之后,发现是fragmentManag...原创 2018-03-08 17:15:30 · 4699 阅读 · 0 评论 -
onNewIntent注意事项
一直对activity的onNewIntent有些困惑,开始时只是知道在activity被重新restart时会进入,后来又发现还不只是这种情况,下面是经过调试后的结论第一种情况:activity launchMode为singleTask或者singleInstance1、activitya start activityb2、activityb start activit原创 2018-03-09 11:08:13 · 1173 阅读 · 0 评论 -
startActivityForResult使用以及内存泄露记录
之前开发的时候竟然没有考虑使用startActivityForResult这么方便的东西。。。 有时候业务逻辑会有 从ActivityA跳转ActivityB,在B上一顿操作然后回退到A的时候需要更新A的页面。以前用过的一些方法是这样的(1)设ActivityA的flag为singleTask,从B回退的时候使用startActivityA,这个时候B会自动Finish掉...原创 2018-03-21 16:15:40 · 615 阅读 · 0 评论 -
设置tablayout的字体大小
<android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="50dp" app:tabIndicatorColor="@color/zitilan" app...原创 2018-06-06 10:39:18 · 2889 阅读 · 0 评论 -
ConstraintLayout使用详解
转自https://www.jianshu.com/p/17ec9bd6ca8a目录1.介绍 2.为什么要用ConstraintLayout 3.如何使用ConstraintLayout 3.1 添加依赖 3.2 相对定位 3.3 角度定位 3.4 边距 3.5 居中和偏移 3.6 尺寸约束 3.7 链 4.辅助工具 4.1 Optimizer 4.2 Bar...转载 2019-05-30 10:34:39 · 247 阅读 · 0 评论 -
webView使用
这篇文章讲一下WebView遇到的那些坑,带领各位爬坑。这里如果有你没遇到的问题,欢迎留言告诉我,我尽我所能帮你解决。感谢大家支持。⇒ 三、WebView的那些坑(1) 为什么Webview打开一个页面,播放一段音乐,退出Activity时音乐还在后台播放?◆◆ 解决方案 1://销毁Webview@Overrideprotected void onDestroy()...转载 2019-06-17 17:42:13 · 271 阅读 · 0 评论 -
webView video标签视频点击全屏播放
最近真的是饱受webView的折磨啊,最近刚做了一个webview视屏点击放大全屏播放的功能,这里记录一下页面xml文件的代码<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...原创 2019-06-29 11:27:45 · 1165 阅读 · 0 评论 -
安卓坑点记录
开始开发就一定要注意的点,罗列一哈(不定期更新)1、尽量不要使用RecyclerView或者ScrollView NestedScrollView嵌套RecyclerView,数据量大会导致卡顿2、分页显示内容的时候,如果涉及到跳页然后返回刷新分页内容的时候,请求的分页内容应为之前展示的所有内容,而不是只有第一页内容(调整pageSize)3、Glide加载大图长图的时候记得要特别处理...原创 2019-08-24 09:19:43 · 324 阅读 · 0 评论 -
NestedScrollView 嵌套RecyclerView 加载大量数据
1、问题描述 最近才发现的NestedScrollView 嵌套RecyclerView,当RecyclerView内数据量一多起来,简直就是一场灾难Recyclerview的最大优点自然是在内部view的复用,这样不管是从内存还是流畅性上都有很大的优化,但是一旦嵌套到NestedScrollView 中,Recyclerview的内容就会一次行加载完成,再也没有什么复用,...原创 2019-08-22 11:25:11 · 8714 阅读 · 0 评论 -
使用Android Studio调试内存问题
转自 http://blog.youkuaiyun.com/yutao52shi/article/details/50055669前言内存问题对于Android开发者是永远的痛。如果一个Android程序员说他没有遇到过OutOfMemory,那只能说他绝对不是做Android的。以往在ADT年代,都是使用eclipse的Mat(http://www.eclipse.org/mat/)插件来做内存分析转载 2017-04-26 16:13:28 · 1227 阅读 · 0 评论 -
EditText 软键盘弹出方式探究 以及手动解决浸入式布局软键盘不顶起输入框或者顶掉整个UI的问题
EditText 如何处理软键盘与输入框的现显示隐藏关系 还有位置关系 通过设置windowSoftInputMode自己实现监听软键盘的弹出,在键盘弹出后使用属性动画将EdiText移动到软键盘上方,并且在软键盘回收后再将ediText回复到原来的位置原创 2017-03-16 11:05:14 · 2988 阅读 · 0 评论 -
ScrollView嵌套RecyclerView 冲突问题的几个解决方法
方法一:将RecyclerView的可滑动属性设置为false,这里重写他的LayoutManager的canScrollVertically()方法即可(我用的竖直布局)LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false){ @Overrid原创 2017-03-23 15:49:15 · 1099 阅读 · 0 评论 -
属性动画一
Animation动画的原理是不断调用onDraw方法不断的重新绘制控件,可以实现 旋转,位移,缩放,透明度。属性动画顾名思义,是不断调用控件属性的get set方法去真实地改变控件的属性原创 2017-01-11 00:18:07 · 334 阅读 · 0 评论 -
属性动画二--ValueAnimator
查看ObjectAnimator的源码,会发现其实是继承自ValueAnimator,是ValueAnimator的一个封装。ValueAnimator本身并不响应动画,也不能控制属性,它是一个数值发生器,产生动画过程中的各种数值,将这些数值作用于控件属性,使整个动画过程能够精确地完成下面这个小例子中,ValueAnimator 使int的数值在5000ms中由0变化到100,并且原创 2017-01-11 09:21:33 · 428 阅读 · 0 评论 -
侧滑菜单---方案一 普通侧滑菜单
总体思路:以HorizontalScrollView为基础。将menu和content从左至右都布局在上面,这样横向的moveEvent就由HorizontalScrollView代为完成。这样我们就只需要判断横向的偏移量来决定up的时候是显示menu还是content原创 2017-01-11 10:52:45 · 297 阅读 · 0 评论 -
深入理解自定义属性
转载请标明出处: http://blog.youkuaiyun.com/lmj623565791/article/details/45022631; 本文出自:【张鸿洋的博客】1、引言对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现:自定义一个CustomView(extends View )类 编写values/attrs.xml,在其中编写styleable和item等标签元素转载 2017-01-12 15:07:51 · 410 阅读 · 0 评论 -
GridView 自定义Item大小的时候第一个Item显示不正常的解决办法
项目中在GridView的使用过程中遇到不少问题,在此记录一下,给自己提个醒:Gridview第一个item不显示的问题。在GridView中,我们在getView中可以映射每个item的布局,通过inflate的方式。这里参考一下大神的分析,具体在这里有详细的描述三种不同inflate方法的描述:http://blog.youkuaiyun.com/lmj623565791/arti转载 2017-02-20 10:50:57 · 980 阅读 · 0 评论 -
侧滑菜单二
自定义控件自定义属性滑动,点击 开关侧滑菜单原创 2017-01-16 09:14:01 · 296 阅读 · 0 评论 -
Android图片之Bitmap、BitmapFactory
Bitmap: Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。 重要函数 public void recycle() // 回收位图占用的内存空间,把位图标记为Dead public final boolean isRecycled() //判断位图内存是转载 2017-02-13 10:06:16 · 499 阅读 · 0 评论 -
Glide初步使用
Glide简介: Glide 是 Google 员工的开源项目, Google I/O 上被推荐使用,一个高效、开源、Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个转载 2017-02-13 10:16:23 · 286 阅读 · 0 评论 -
Glide的进一步学习
Android图片缓存之Glide进阶前言: 前面学习了Glide的简单使用(Android图片缓存之初识Glide),今天来学习一下Glide稍微复杂一点的使用。 图片缓存相关博客地址:Android图片缓存之Bitmap详解Android图片缓存之初识GlideAndroid图片缓存之Glide进阶Android图片缓存之Lru算法G转载 2017-02-13 10:29:37 · 207 阅读 · 0 评论 -
最快的启动页
在APP的启动页面(Splash Screen)好多都是等待3秒,好一点的还可以跳过,但是有的跳过也是假的按钮。当然像一些大厂的APP,像网易新闻等启动页面都是广告,人家要收广告费的。但是,对于一些普通的APP,有的也出现等待三秒的启动画面,出现一个大大的logo,好像告诉用户他打开的是什么应用,加深用户的映像,这完全是浪费用户的时间,给用户很差的体验!其实我只想快点进入APP啊!!!而且有些AP转载 2017-02-14 15:35:35 · 234 阅读 · 0 评论 -
ImageView的几种对图片的缩放处理
ImageView的scaleType的属性有好几种,分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXYandroid:scaleType="center" 保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部转载 2017-03-04 13:37:19 · 9329 阅读 · 0 评论 -
图片的多点触控缩放与移动
整理自 鸿洋大神的慕课网视频加了很多自己理解的注注释package MyView;import android.content.Context;import android.graphics.Matrix;import android.graphics.RectF;import android.graphics.drawable.Drawab原创 2017-03-10 15:10:37 · 600 阅读 · 1 评论 -
跟随ViewPager滑动,背景色渐变
需求:每张轮播图都带有一个背景色,轮播图滑动(自动轮播和手势拖动)的同时,轮播图背后的背景色也随之渐变到对应的背景色;下面是实现效果1.首先分析分析需求,每张轮播图都有一个对应的背景色,我们只需要得到在轮播的过程中,轮播图滑动的距离比例, 然后根据当前的背景色和要转到的下一个背景色,计算差值,就得到滑动过程中要显示的背景色2.滑动监听当然是在onPageScrolled方法...原创 2019-09-18 15:52:25 · 907 阅读 · 0 评论