1.使用fragment
在使用fragment中时,setUserVisible()方法先与onCreateView方法,并且当刚开始启动Viewpager时就会调用各个fragment的setUserVisible方法,当设置viewPager.setOffScreenLimit为fragment的总数时,则会在启动时即调用各个fragment页面得onCreateView方法
2.使用Scroller
使用Scroller的startScroll(int startX,int startY,int dx,int dy);方法时,当dy为正时为向上滑动。
view的getScrollY()方法获取的是view的top的edge滑动过的坐标,当向下时view的上面划出屏幕时,此时getScrollY的值为负值。
当view向上滑动之后,getScrollY的值将会变小,这个要注意,很容易就弄反了
view的ScrollBy(int dx,int dy)方法同样当dy为正时为向上滑动
3.设置ListView的onScrollListener事件时
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if(firstVisibleItem + visibleItemCount == totalItemCount){
Log.d("xinwa","已经滑动到了最后一页");
}
}
判断滑动到最后一行:firstVisibleItem+visibleItemCount=totalItemCount
4.对于不同分辨率的屏幕,
他的像素的密度是不同的通过不同的密度设置相应的像素值,来达到大致相同的效果
private void initView(Context context){
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
mMaxOverScrollY = (int) (metrics.density * mMaxOverScrollY);
}
5.scrollBy(),scrollTo()
scrollBy()与scrollTo()方法都是移动的是view的content,即让view的内容发生移动,这点要注意一下,在viewGroup中,使用scrollBy方法时移动的是viewGroup中的子View
6.屏幕的大小
通常我们所说的4.7寸,5.0寸手机,这个长度指的是屏幕对角线的长度
dpi(Dots Per Inch)每英寸像素:是由对角线的像素点数除以屏幕的大小而得到
ldpi 密度值:120 分辨率 240 X 320,
mdpi 密度值:160 分辨率 320 X 480
hdpi 密度值:240 分辨率 480 X 800
android 系统使用mdpi即密度为160的屏幕作为标准,在这个屏幕上1dp = 1px,在hdpi中1dp = 1.5px
7.将dip转换为px
px = value * scale + 0.5f; 其中scale为屏幕的密度
8.sd卡的绝对路径
getExternalFilesDir()
It returns the path to files folder inside Android/data/data/your_package/ on your SD card. It is used to store any required files for your app (e.g. images downloaded from web or cache files). Once the app is uninstalled, any data stored in this folder is gone too.
获取应用程序下的存储目录,/data/data/your_package/,随着应用的卸载存储的文件被删除
getExternalStorageDirectory()
It returns the root path to your SD card (e.g mnt/sdcard/). If you save data on this path and uninstall the app, that data won’t be lost.
获取sd卡根目录,跟应用的是否卸载无关。
9.当activity设置启动模式为singleInstance时,调用startActivityForResult方法会直接回调onActivityResult方法,所以此时Fragment调用startActivityFroResult方法也不好使。