Android基礎常識:佈局wrap_content,match_parent,layout_weight及Log詳解(Log.v,Log.d,Log.i,Log.w,Log.e)

佈局:

wrap_content:是layout_width和layout_height的屬性值之一,表示和自身內容一樣的長度。

match_parent:是layout_width和layout_height的屬性值之一,表示和父組件一樣的長度。

layout_weight:是佈局文件的一個屬性,它的值表示線性分割原本應有長度的權重,要和wrap_content和match_parent配合使用,不同情況列舉如下:
和wrap_content配合:先按照內容的多少去設定空間大小,然後按照權重的比例分配剩餘控件。即當控件沒有內容或內容未超出按照權重比例分配的空間時,就按照layout_weight設定的權重比例分配空間,當內容大小超過這樣分配的空間時,控件就會擴張,其實就是按照wrap_content來佔用空間了,剩下的空間仍然按照本段定理來分配。

和match_parent配合:空間計算公式:空間大小=父容器大小+權重比例剩餘空間大小,比如兩個同級控件A,B都是match_parent,A的layout_weight爲1,B的layout_weight爲2(總空間爲1match_parent,所需空間爲2match_parent,剩餘空間爲兩者之差),空間A=1match_parent+1/(1+2)(1match_parent-2match_parent)=2/3match_parent,同理,空間B=1/3match_parent。這個現象和正常情況有些相反,但是可以有效保證空間分配到的比例固定,不會被內容撐大。

和0dp配合:將layout_weight或者layout_height設爲0dp,將直接按照layout_weight權重的比例分配空間,且不會被內容撐大。

Log:

android.util.Log常用的方法有以下5個:Log.v() Log.d() Log.i() Log.w() 以及Log.e() 。根據首字母對應VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的調試顏色爲黑色的,任何消息都會輸出,這裏的v代表verbose囉嗦的意思,平時使用就是Log.v("","");
2、Log.d的輸出顏色是藍色的,僅輸出debug調試的意思,但他會輸出上層的信息,過濾起來可以通過DDMS的Logcat標籤來選擇.
3、Log.i的輸出爲綠色,一般提示性的消息information,它不會輸出Log.v和Log.d的信息,但會顯示i、w和e的信息
4、Log.w的意思爲橙色,可以看作爲warning警告,一般需要我們注意優化Android代碼,同時選擇它後還會輸出Log.e的信息。
5、Log.e爲紅色,可以想到error錯誤,這裏僅顯示紅色的錯誤信息,這些錯誤就需要我們認真的分析,查看棧的信息了。

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