看了一些有关android的面试题,决定小结一下容易出错的问题。
这篇文章主要总结的是有关布局方面的。
1、如何获得LinearLayout的高度和宽度?
因为LinearLayout是View的子类,所以,可以用View.getMeasuredWidth()和View.getMeasuredHeight()获取组件的宽度和高度。
注意:若组件的高度或宽度设为fill_parent或match_parent时,使用getMeasuredWidth()或和getMeasuredHeight()获取组件的宽度和高度,当组件中包含其它子组件时,所获得的实际值是这些组件所占的最小宽度和最小高度。
(备注:android程序的运行机制决定了无法在组件类外部使用getWidth()和getHeight()来获得宽度和高度(自定义组件中可用这2个方法获取当前组件的宽度和高度),必须使用View.getMeasuredWidth()和View.getMeasuredHeight()获取组件的宽度和高度。在调用这2个方法之前,必须调用View.measure()先测量组件的宽度和高度。若想直接获取在布局文件中定义的组件的宽度和高度,可直接使用View.getLayoutParams().width和View.getLayoutParams().height)
2、