1.说出android 五中布局,并说出各自作用?
FrameLayout: 堆叠布局,也是就可以堆在一起。最长应用于Fragment的使用上。
LinearLayout: 线性布局,可以是竖排或水平。
ReleativeLayout:复杂页面一般都会用到,可以通过相对位置,而忽略页面的大小。
absolutlayout:绝对布局:固定x,y的坐标。
Tablayout:用于标签页。
2.xmlns:android="http://schemas.android.com/apk/res/android"
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/btn_start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/start"> </Button> </LinearLayout>
该属性定义了android resource的命名空间。
3.linearlayout 分割线?
android 3.0以上支持分割线:
android:showDividerd.
4.如何确定按钮在手机屏幕的位置?
View.getLocationOnScreen(location);
5.如何不用xml来布局releativeLayout中的view?
可以使用layoutparamters来通过layoutparamters.addrule来设定。
6.Tablelayout如何使用?
Tablelayout 用tablerow来规定每一行,每一行的列数是可以不同的。
7. android:stretchColumns="2" 在tablelayout中
android:stretchColumns="2"表示第二列会撑满剩下的空间。
8.将布局存为图像!
view.setdrawingcacheenable(true);
view.getDrawingCache();
9.如何设置渐变背景?
颜色渐变的方向由GradientDrawable.Orientation定义可以有如下八种:
mDrawable =
new
GradientDrawable(GradientDrawable.Orientation.TL_BR,
new
int
[] {
0xFFFF0000
,
0xFF00FF00
,
0xFF0000FF
});
分别使用Liner,Radial 和Sweep三种渐变模式,并配合指定矩形四个角圆角半径,显示GradientDrawable的不同用法:
mDrawable.setGradientType(GradientDrawable.LINEAR_GRADIENT);
setCornerRadii(mDrawable, r, r,
0
,
0
);
mDrawable.draw(canvas);
10.android:layout_weight的作用?
值越大,重要程度越低。
如果layout_weight一个是1,一个是2,并且width和height都是match_parent则显示2/3 and 1/3
11.dp & sp?
160dpi = 320*480
12.android:layout_gravity and android:gravity的区别?
android:layout_gravity是指View在父控件中的位置,而android:gravity是指内容的位置。
12.如何重用布局文件?
<include android:id="+id/layout1" [email protected]/myloyout>
13.merge的作用?
merge会过滤掉多余的布局外壳。
14.