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()));

相关推荐