Android琐碎知识点集合

1.最近发现android studio更新之后用的v7包,每次创建Activity的时候自动继承的是AppCompatActivity,很不舒服,还是习惯Activity.没什么大的毛病,毕竟google的新包嘛.但是有一个还是影响的,我遇到过一次如果继承的是AppCompatActivity,那么隐藏标题栏会失效.也就是这句代码不起作用,而且引起崩溃this.requestWindowFeature(Window.FEATURE_NO_TITLE);不知道为啥,我重新继承Activity就好了.把如何更改默认继承AppCompatActivity方法贴出来,别人写的.

 

2.关于权重layout-weight

这个属性只有在LinearLayout中才有,如果父布局LinearLayout的orientation设置为horizontal(水平),则需要将子控件的layout-width设置成0dp.如果orientation设置为vertical(水平),则需要将layout-height=0dp.用到权重的时候意思就是此时这个控件的宽或者高不再受该控件本身的layout-width/layout-height所影响,而是取决于layout-weight.

权重的大小是怎么确定的呢?假如控件1的weight值是2,控件2的weight值是3.那么,控件1最终占父布局的宽度或者高度就是2/5.利用权重来布局更加舒服,更容易适配.

3.继承Fragment的时候,会出现两个提示一个是.app包下的Fragment,另一个是.v4包下的Fragment.继承哪个都行,建议继承v4包下的,因为app包下的Fragment是3.0版本后才有的,支持的包太高,不过现在也无所谓了,市面上一般最低都是4.0的了.不过为了保险还是继承v4包吧.继承v4包的时候有一点需要注意下,就是如果一旦继承了v4包的Fragment,那么用到这个Fragment的Activity则必须继承FragmentActivity,否则系统会默认加载app包下的Fragment,会报错!

4.刚才在创建onCreatView方法是studio自动出现了这个东西@Nullable,我有点纳闷.查了一下.这是个注解,用来标示他出现的地方是否可以传入null.与之对应的是@NonNull,这个意思是不可以传入null.有很大的作用,如果你在某个参数前加了这个注解,然后你在后面忘记给这个参数赋值,那么系统就会提醒你.所以这个@NonNull还是很有用的..

posted on 2016-09-19 21:53  bedbig  阅读(196)  评论(0编辑  收藏  举报

导航