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():Addadditionalflagstotheintent(orwithexistingflagsvalue).
setflags():Setspecialflagscontrollinghowthisintentishandled.
Android配置文件里面"@+id/"和"@id/"的区别"@+id/"表示新增到系统中的id,"@id/"引用已有的id
getX()和getRawX()的区别
getX()是获取以widget左上角为坐标原点计算的X轴坐标直.
getRawX()获取的是以屏幕左上角为坐标原点计算的X轴坐标直
Android中getWidth和getMeasuredWidth的区别
getWidth得到是某个view的实际尺寸.
getMeasuredWidth是得到某view想要在parentview里面占的大小
那用法呢?
1.getWidth在OnCreat的时候得到的是0..很奇怪,我找到了原因:当一个view对象创建时,android并不知道其大小,所以getWidth()和getHeight()返回的结果是0,真正大小是在计算布局时才会计算,所以会发现一个有趣的事,即在onDraw()却能取得长宽的原因。那怎么在onCreat的时候得到呢?
width=activity.getWindowManager().getDefaultDisplay().getWidth();
height=activity.getWindowManager().getDefaultDisplay().getHeight();
2.getMeasuredWidth必须在parentview或者它自己调用measure()函数之后才能得到.measure函数就是计算该函数需要占用的空间大小.
layout(intl,intt,intr,intb)和setFrame(intl,intt,intr,intb)
View中的layout(intl,intt,intr,intb)和setFrame(intl,intt,intr,intb)是相同的作用,用来确定一个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(newFile("/sdcard/cats.jpg")));
ImageView.setImageUri(Uri.parse(newFile("/sdcard/cats.jpg").toString()));