《Android面試寶典》學習筆記(第二章:佈局)

如何讓三個按鈕以水平方向分別左對齊、居中對齊和右對齊?

android:layout_gravity="left"

android:layout_gravity="center_horizonal"

android:layout_gravity="right"


如何獲得組件的寬度和高度?

先調用view.measure方法測量組件的寬度和高度,再調用view.getMeasuredWidth和view.getMeasuredHeight(Layout也是view的子類)


如何讓五個按鈕呈梅花狀排列?

http://blog.csdn.net/cjllife/article/details/8150604


如何確定view的位置座標?

int[] location = new  int[2] ;
view.getLocationInWindow(location); //獲取在當前窗口內的絕對座標
view.getLocationOnScreen(location);//獲取在整個屏幕內的絕對座標
location [0]--->x座標,location [1]--->y座標


如何用Java代碼控制控件屬性?

先創建一個LayoutParams對象,再用LayoutParams.addRules設置屬性,最後調用View.setParams方法。


TableLayout的用法?

表格佈局模型以行列的形式管理子控件,每一行爲一個TableRow的對象,當然也可以是一個View的對象。TableRow可以添加子控件,每添加一個爲一列。


如何將view截圖?

view.setDrawingCacheEnabled()

view.getDrawingCache()


如何將窗口的背景色設爲漸變色?

getWindow().setBackgroundDrawable(gradientDrawable);


layout_weight屬性是什麼意思?

http://mobile.51cto.com/abased-375428.htm


padding和layout_margin屬性的作用?

padding:設置view中的內容在上下左右四個方向距邊緣的距離。

layout_margin:設置view的邊緣距其他view或父容器的距離。


尺寸的計量單位?

px、in、mm、pt(一個點,1/72英寸)、dp、sp

整個屏幕的寬爲160dp

sp適合用於設置文字大小


layout_gravity和gravity的區別?

layout_gravity指定當前view在父容器中的位置,gravity指定view中內容的位置。


如何重用佈局文件?

使用<include>標籤。


佈局優化:

  • 儘量多使用RelativeLayout,不要使用絕對佈局AbsoluteLayout;

  • 將可複用的組件抽取出來並通過< include />標籤使用;

  • 使用< ViewStub />標籤來加載一些不常用的佈局;

  • 使用< merge />標籤減少佈局的嵌套層次;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章