《第一行程式碼》閱讀筆記2
Android開發之UI開發
1.屬性android:visibility
(所有控制元件中都具有的屬性)
可選值有三種:visible、invisible、gone
invisible表示控制元件不可見,但它仍然佔據著原來的位置和大小
gone表示控制元件不可見&控制元件不佔用螢幕空間
還可以在程式碼中設定 控制元件的可見性:
setVisibility(View.VISIBLE);傳入View.VISIBLE、View.INVISIBLE或View.GONE三種值
2.TableLayout的基本結構:
<TableLayout> <TableRow> ... </TableRow> <TableRow> ... </TableRow> </TableLayout>
中的兩個重要屬性
<TableLayout> <TableRow android:layout_span="2"> ... </TableRow> </TableLayout>
讓一行控制元件佔據兩列
<TableLayout android:stretchColumns="1"> ... </TableLayout>
將有該屬性的一行進行拉伸,達到自動適應螢幕的作用。
3.ListView的兩個優化
使用用Adapter中的getView()方法的View引數中的佈局快取進行重用,這樣就可以不必重複載入佈局。
為getView中獲得的子view新增一個Viewholder的Tag,這樣在每次有佈局快取時,就不用再通過getViewById()來獲取一次控制元件的例項了。
4.dp和sp
dp(密度無關的畫素)
2英寸3英寸的320畫素 480畫素中,螢幕密度為320/2=160dip
密度為160時,1dp=1px
密度為320時,1dp=2px
sp(指定文字大小)和dp原理相同
5. 點9圖
左和上繪製的線代表拉伸區域,右和下繪製的線代表內容被放置區域