android
Xibo_Yue
一起学习,一起进步
展开
-
为什么Listview的viewholder要用static修饰
Android的findViewById动作是比较耗时的,需要遍历布局的树形结构,才能找到相应的视图。所以如果想在这一块进行优化,我们就需要把find过后的内容进行缓存,所以就用ViewHolder的方法《Effective Java》第22条 优先考虑静态成员类其中有条建议:如果声明成员类不要求访问外围实例,就要始终把static修饰符放在它的声明中,是它成为静态成员类,而不原创 2017-03-16 22:16:00 · 528 阅读 · 0 评论 -
Activity四种启动模式
standard默认模式,可以不用写配置。在这个模式下,都会默认创建一个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity叠加。singleTop可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。(常用于产品详情页面原创 2017-02-23 17:02:12 · 220 阅读 · 0 评论 -
android字体加横线
底部加横线是textview.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG );textview.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG |Paint.ANTI_ALIAS_FLAG);加上后面的属性字体更清晰一些中间加横线是:textview.ge原创 2017-03-14 10:19:02 · 1903 阅读 · 1 评论 -
gradle相关问题
1. 命令:gradlew compileDebugSources 查找编译错误原因原创 2018-10-18 14:51:10 · 224 阅读 · 0 评论 -
invalidate和requestLayout区别
总述:View有两个很重要的方法:invalidate和requestLayout,常用于View重绘和更新。 Invalidate:To farce a view to draw,call invalidate().——摘自View类源码从上面这句话看出,invalidate方法会执行draw过程,重绘View树。当View的appearance发生改变,比如状态改变(en...转载 2018-10-19 17:21:57 · 720 阅读 · 0 评论 -
Android之:了解MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST)
在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。这个大小的模式,有点难以理解。在系统中组件的大小模式有三种:1.精确模式(MeasureSpec.EXACTLY)在这种模式下,尺寸的值是多少,那么这个组件的长或宽就是多少。2.最大模式(MeasureSpec.AT_MO...转载 2018-10-17 14:36:07 · 790 阅读 · 0 评论