首页 > 代码库 > android面试(1)----布局
android面试(1)----布局
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
});
mDrawable.setGradientType(GradientDrawable.LINEAR_GRADIENT);
setCornerRadii(mDrawable, r, r,
0
,
0
);
mDrawable.draw(canvas);
android面试(1)----布局