android上一些方法的区别和用法的注意事项 (转载)
onMeasure()和onLayout()
1. onMeasure
a. 属于View的方法,用来测量自己和内容的来确定宽度和高度
b. view的measure方法体中会调用onMeasure
2. onLayout
a. 属于ViewGroup的方法,用来为当前ViewGroup的子元素的位置和大小
b. View的layout方法体中会调用onLayout
3.onMeasure在onLayout之前调用
4. 设置background后,会重新调用onMeasure和onLayout
Intent中的addflags()和setflags()的区别
addflags():Add additional flags to the intent (or with existing flags value).
setflags():Set special flags controlling how this intent is handled.
Android 配置文件里面"@+id/"和"@id/"的区别"@+id/" 表示新增到系统中的id,"@id/"引用已有的id
getX( )和getRawX( )的区别
getX( )是获取以widget左上角为坐标原点计算的X轴坐标直.
getRawX( )获取的是以屏幕左上角为坐标原点计算的X轴坐标直
Android中getWidth和getMeasuredWidth的区别
getWidth得到是某个view的实际尺寸.
getMeasuredWidth是得到某view想要在 parent view里面占的大小
那用法呢?
1.getWidth在OnCreat的时候得到的是0..很奇怪, 我找到了原因: 当一个view对象创建时,android并不知道其大小,所以getWidth()和 getHeight()返回的结果是0,真正大小是在计算布局时才会计算,所以会发现一个有趣的事,即在onDraw( ) 却能取得长宽的原因。 那怎么在onCreat 的时候得到呢?
width = activity.getWindowManager().getDefaultDisplay().getWidth();
height = activity.getWindowManager().getDefaultDisplay().getHeight();
2. getMeasuredWidth必须在parent view或者它自己调用measure()函数之后才能得到. measure函数就是计算该函数需要占用的空间大小.
layout(int l, int t, int r, int b)和setFrame(int l, int t, int r, int b)
View中的layout(int l, int t, int r, int b)和setFrame(int l, int t, int r, int b)是相同的作用,用来确定一个view的位置和占据的空间大小
android:layout_gravity是本元素对父元素的重力方向
android:gravity是本元素所有子元素的重力方向android:layout_toLeftOf="@id/ok" 在某某的左边
android: layout_alignTop="@id/ok" 与某某上面对齐
android:layout_alignParentRight="true" 与父容器右边对齐
android:layout_marginLeft="10dip" 左边空出10dip空间
判断是否已经选中一个ListItem
list.getSelectedItemId()>0
在dialog或者menu生成前回调的方法~ 参考《android开发入门与实践》P121和P167
android.content.UriMatcher和android.content.ContentUris的用法,具体参考《android开发入门与实践》第8章日记软件第二种写法
Uri发起图片
ImageView.setImageUri(Uri.fromFile(new File("/sdcard/cats.jpg")));
ImageView.setImageUri(Uri.parse(new File("/sdcard/cats.jpg").toString()));