屏幕分辨率尺寸適配是安卓開發中的難題之一,我開發中的解決辦法是: java
一、多使用相對佈局,即RelativeLayout,或者LinearLayout使用layout_weight選項,這樣能夠沒必要去固定每一個佈局的寬高; 佈局
二、對於組件而言,寬高屬性多使用wrap_content或者match_parent,而不是去指定大小,在有必要指定大小的時候,組件的尺寸使用dp單位,這樣,在不一樣的手機看起來差不別並非很大,甚至能夠說,它幾乎能夠作到適配,而文字的單位要使用sp,道理同樣。 測試
三、在開發過程當中,佈局時,大部分頁面均可以直觀的看到效果,這時要使用下圖所示的設備列表,來切換不一樣版本的模擬器,來看看本身的佈局是否能適應這些屏幕。 code
四、避免在java代碼中動態爲組件指定固定的寬高,好比: xml
View customView = getActivity().getLayoutInflater().inflate(R.layout.popview_item,null, false); popupwindow = new PopupWindow(customView, 120.980);這裏面的120、980在不一樣的手機,差異就太大了,實際試驗很是誇張,因此改爲這樣:
View customView = getActivity().getLayoutInflater().inflate(R.layout.popview_item,null, false); popupwindow = new PopupWindow(customView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
選擇在xml文件中,把寬度和高度都使用dp單位設定好,而後java代碼中就可使用上述方式。 開發
五、真機測試是不能省略的,找到儘量找到的不一樣類型的安卓手機進行測試。 get
就想起這麼多,之後遇到接着補充。 it