20170830工作日记
1. fragment使用方法
Fragment基本概述 http://www.runoob.com/w3cnote/android-tutorial-fragment-base.html
Fragment实例精讲——底部导航栏的实现(方法2) http://www.runoob.com/w3cnote/android-tutorial-fragment-demo2.html
Fragment实例精讲——底部导航栏+ViewPager滑动切换页面 http://www.runoob.com/w3cnote/android-tutorial-fragment-demo4.html
FragmentTransaction与Fragment生命周期的关系
在使用fragment的时候需要注意自定义MyFragment的导包和MainActivity中的导包需要一致,都使用
import android.app.FragmentManager;
import android.app.FragmentTransaction;
2. sp和dp区分
1. 长度宽度的数值要使用dp作为单位放入dimens.xml文件中
2. 字体大小的数值要使用sp作为单位,也放入dimens.xml文件中
使用sp作为字体大小单位,会随着系统的字体大小改变,而dp作为单位则不会.
sp除了受屏幕密度影响外,还受到用户的字体大小影响通常情况下,建议使用sp来跟随用户字体大小设置
因此通常情况下,我们还是建议使用sp作为字体的单位,除非一些特殊的情况,不想跟随系统字体变化的,可以使用dp.
3. layout_weight 的大小分配问题
layout_weight分配的算法是:LinearLayout中的layout_weight属性,首先按照控件声明的尺寸进行分配,然后再将剩下的尺寸按weight分配。
举例说明如下:
例一:把每个layout_width设为0dp,layout_weight设为1,会出现什么问题呢?
首先我先在XML中写个布局文件,代码如下:
最终效果如下:
例二:把第一个layout_width设为wrap_content,又设置了每个控件的layout_weight的权值,那么布局会如何分配宽度呢?
运行的效果如下:
layout_weight分配的算法是:LinearLayout中的layout_weight属性,首先按照控件声明的尺寸进行分配,然后再将剩下的尺寸按weight分配。
4. layout开头的属性
发现XML中有些属性是以layout开头,像layout_gravity什么的,而有些属性则没有layout开头,这有什么不同呢?
问题分析:layout的意思是布局,layout开头的属性实际上是说这些属性由其父容器去获取,再去设置。而没有以layout开头的属性,就是由控件自己获取设置。
总结一句话就是:Layout_开头都是交给父容器,没有Layout_开头都是本身的属性。
5. 在fragment中getActivity()的使用
首先要说的是,Fragment中有一个getActivity()的方法。这个方法会返回当前Fragment所附加的Activity。当fragment生命周期结束并销毁时,getActivity()返回的会是null。所以在使用时要注意判断null或者捕获空指针异常。所以只要判断getActivity()为空,就可以不再执行下面的代码,这完全不影响业务的使用。
getApplicationContext():生命周期是整个应用,应用摧毁,它才摧毁。
this:代表当前,在Activity当中就是代表当前的Activity,换句话说就是Activity.this在Activity当中可以缩写为this.
getActivity():与this基本相同,在fragment中就不能用this只能用getActivity(),两者绑定的关系。
getApplication():andorid 开发中共享全局数据;
getContext():这个是View类中提供的方法,在继承了View的类中才可以调用,返回的是当前View运行在哪个Activity Context中。
getActivity和getcontext其实差不多,一般在fragment中使用的时候,用此方法获取。
相关引用:
http://blog.csdn.net/wzg_1987/article/details/8836532
http://blog.csdn.net/zhuangb1/article/details/26140219
6. drawableTop在TextView中的使用
用来设置在TextView中图片在文字的上边;将图片或是什么绘制在某组件的上部
7.根据W3C博客写了3个fragment
http://www.runoob.com/w3cnote/android-tutorial-fragment-demo4.html
8. 需要搞清楚ViewPager的使用