1、LinearLayout的特點是什麼?
LinearLayout按照垂直或者水平的順序依次排列子元素,每一個子元素都位於前一個元素之後。如果是垂直排列,那麼將是一個N行單列的結構,每一行只會有一個元素,而不論這個元素的寬度爲多少;如果是水平排列,那麼將是一個單行N列的結構。如果搭建兩行兩列的結構,通常的方式是先垂直排列兩個元素,每一個元素裏再包含一個LinearLayout進行水平排列。
LinearLayout中的子元素屬性android:layout_weight生效,它用於描述該子元素在剩餘空間中佔有的大小比例。加入一行只有一個文本框,那麼它的默認值就爲0,如果一行中有兩個等長的文本框,那麼他們的android:layout_weight值可以是同爲1。如果一行中有兩個不等長的文本框,那麼他們的android:layout_weight值分別爲1和2,那麼第一個文本框將佔據剩餘空間的三分之二,第二個文本框將佔據剩餘空間中的三分之一。android:layout_weight遵循數值越小,重要度越高的原則。
2、RelativeLayout(相對佈局)的特點是什麼?
RelativeLayout是一個允許子視圖相對於其他兄弟視圖或是父視圖顯示的視圖組(通過ID指定)。每個視圖的位置能夠指定它相對於兄弟(比如在其他視圖的左邊或是下邊)或是父視圖(這裏是指相對佈局容器,比如底部對齊、中間偏左)的位置。
3、ViewGroup和View有關係嗎?
Android系統中的所有UI類都是建立在View和ViewGroup這兩個類的基礎上的。所有View的子類成爲”Widget”,所有ViewGroup的子類成爲”Layout”。View和ViewGroup之間採用了組合設計模式,可以使得“部分-整體”同等對待。ViewGroup作爲佈局容器類的最上層,佈局容器裏面又可以有View和ViewGroup。
1、何時使用include包含公共的界面,何時選擇自定義控件?
如果是一個複雜的界面設計,我們把所有佈局都放在一個文件中來描述,那這個文件會顯得比較臃腫而結構則變得無法清晰了。爲此,include出現了,
1、ListView控件使用及其優化是怎樣的?
優化:1.在adapter中的getView方法中儘量少使用邏輯
2.盡最大可能避免GC
3.滑動的時候不加載圖片
4.將ListView的scrollingCache和animateCache設置爲false
5.item的佈局層級越少越好
6.使用ViewHolder
1、Adapter起到的作用是什麼?
Adapter是連接後端數據和前端顯示的適配器接口,是數據和UI(View)之間一個重要的紐帶。在常見的View(ListView,GridView)等地方都需要用到Adapter
1、SharedPreferences存儲方式的特點是什麼?最終生成的文件是什麼格式?
hared Preferences是Android系統提供的一個輕量級的存儲類,主要用於保存一些配置信息,比如窗口狀態(大小、亮度等)。
Shared Preferences使用鍵值對的形式來存儲數據,可以對常用數據類型boolean、float、int、long以及String進行保存。保存的數據以xml文件的形式存儲在/data/data/<包名>/shared_prefs目錄下。
1、數據庫存儲用的是什麼?Cursor是什麼?如果不會SQL語句怎麼辦?