一、什麼是View?
<1>全部高級UI組件都繼承View類而實現的;
<2>一個View在屏幕上佔據一塊矩形區域;
<3>負責渲染;
<4>負責處理髮生的事件;
<5>設置是否可見;
<6>設置是否能夠得到焦點等
二、LinearLayout、RelativeLayout和FrameLayout的聯繫和區別。
<1>FrameLayout
這個佈局能夠當作是牆腳堆東西,有一個四方的矩形的左上角牆腳,咱們放了第一個東西,要再放一個,那就在放在原來放的位置的上面,這樣依次的放,會蓋住原來的東西。這個佈局比較簡單,也只能放一點比較簡單的東西。
<2>LinearLayout
線性佈局,這個東西,從外框上能夠理解爲一個div,他首先是一個一個從上往下羅列在屏幕上。每一LinearLayout裏面又可分爲垂直佈局 (android:orientation="vertical")和水平佈局(android:orientation="horizontal" )。當垂直佈局時,每一行就只有一個元素,多個元素依次垂直往下;水平佈局時,只有一行,每個元素依次向右排列。
linearLayout中有一個重要的屬性 android:layout_weight="1",這個weight在垂直佈局時,表明行距;水平的時候表明列寬;weight值越大就越大。
<3>RelativeLayout
相對佈局能夠理解爲某一個元素爲參照物,來定位的佈局方式。主要屬性有:
相對於某一個元素
android:layout_below="@id/aaa" 該元素在 id爲aaa的下面
android:layout_toLeftOf="@id/bbb" 改元素的左邊是bbb
相對於父元素的地方
android:layout_alignParentLeft="true" 在父元素左對齊
android:layout_alignParentRight="true" 在父元素右對齊
還能夠指定邊距等
三、View和ViewGroup的區別。
View是ViewGroup的父類。Android的UI開發使用層次模型來完成,通常都是在一個ViewGroup中嵌套多層ViewGroup,每一層中含有隨意數目的View。咱們能夠將整個屏幕看作一個ViewGroup,它同時也是一個View,而在這個總體的ViewGroup之中,又有多個ViewGroup和View,每一個ViewGroup中又能夠有多個子ViewGroup和View。
四、在XML中引用一個id,使用@id/id_name這種語法;須要在XML中定義一個id,要使用@+id/id_name這種語法。
五、android:layout_height指定了當前元素的高度;
android:layout_width指定了當前元素的寬度;
android:match_parent表示讓當前元素和父元素同樣寬;
android:wrap_content表示當前元素的高度只要能恰好包含裏面的內容就好了;
android:text指定了元素中顯示的文字內容;
android:lable指定活動中標題欄的內容,標題欄是顯示在活動最頂部的。
六、gravity和Layout_gravity的區別。
LinearLayout有兩個很是類似的屬性:android:gravity與android:layout_gravity。他們的區別在 於:android:gravity用於設置View組件的對齊方式,而android:layout_gravity用於設置Container組件的 對齊方式。
舉個例子,咱們能夠經過設置android:gravity="center"來讓EditText中的文字在EditText組件中居中顯示;同時咱們設置EditText的android:layout_gravity="right"來讓EditText組件在LinearLayout中居中顯示。
七、Activity的四種基本狀態分別是哪些?
運行態(Running)、暫停態(Paused)、中止態(Stopped)、終止態(Destroyed)。
八、Android中的六大布局分別是什麼?
絕對佈局(AbsoluteLayout)、相對佈局(RelativeLayout)、線性佈局(LinearLayout)、幀佈局(FrameLayout)、表格佈局(TableLayout)、網格佈局(GridLayout)。
九、padding和margin的區別。
padding填充的意思,指的是view中的content與view邊緣的距離,相似文本中的indent而margin表示的是view的左邊緣與parent view的左邊緣的距離,margin通常用來描述控件間位置關係,而padding通常描述控件內容和控件的位置關係。
簡單,padding是站在父 view的角度描述問題,它規定它裏面的內容必須與這個父view邊界的距離。margin則是站在本身的角度描述問題,規定本身和其餘(上下左右)的 view之間的距離,若是同一級只有一個view,那麼它的效果基本上就和padding同樣了。
十、相對佈局中只能設爲boolean值的屬性
android:layout_centerHorizontal——控制該子組件是否位於佈局容器的水平居中;
android:layout_centerVertical——控制該子組件是否位於佈局容器的垂直居中;
android:layout_centerInParent——控制該子組件是否位於佈局容器的中央位置;
android:layout_alignParentBottom——控制該子組件是否與佈局容器底端對齊;
android:layout_alignParentLeft——控制該子組件是否與佈局容器左邊對齊;
android:layout_alignParentRight——控制該子組件是否與佈局容器右邊對齊;
android:layout_alignParentTop——控制該子組件是否與佈局容器頂端對齊;
十一、相對佈局中只能設爲其餘UI組件ID的屬性
android:layout_toRightOf——控制該子組件位於給出ID組件的右側;
android:layout_toLeftOf——控制該子組件位於給出ID組件的左側;
android:layout_above——控制該子組件位於給出ID組件的上方;
android:layout_below——控制該子組件位於給出ID組件的下方;
android:layout_alignTop——控制該子組件位於給出ID組件的上邊界對齊;
android:layout_alignBottom——控制該子組件位於給出ID組件的下邊界對齊;
android:layout_alignLeft——控制該子組件位於給出ID組件的左邊界對齊;
android:layout_alignRight——控制該子組件位於給出ID組件的右邊界對齊;android