Android布局注意事項

2021-06-26 18:58:51 字數 1777 閱讀 9169

android的布局還是有一定的講究的。如何設定布局的屬性也要好好學習,剛學習的時候對不居中full_content,wrap_content,match_parent,0dp,layout_weight搞不清楚,終於在曲曲折折中摸索清楚,從android training course in chinese中學到了不少,果然是精華。

當前edittext和button部件只是適應了他們各自內容的大小,如下圖所示:

這樣設定對按鈕來說很合適,但是對於文字框來說就不太好了,因為使用者可能輸入更長的文字內容。因此如果能夠佔滿整個螢幕寬度會更好。linearlayout使用權重的屬性來達到這個目的,你可以使用android:layout_weight屬性來設定。

你可以根據每乙個部件所佔的空間來指定權重值的大小,它的總數是有同級別的部件來決定的。就類似於飲料的成分配方:「兩份伏特加酒,乙份咖啡利口酒」,意思就是這個酒中伏特加酒佔三分之二。例如,你設定乙個view的權重是2,另乙個view的權重是1,那麼總數就是3,這時第乙個view佔據2/3的空間,第二個佔據1/3的空間。如果你再加入第三個view,權重設為1,那麼第乙個view(權重為2的)會佔據1/2的空間,剩餘的另外兩個view各佔1/4。(請注意,使用權重的前提一般是給view的寬或者高的大小設定為0dp,然後系統根據上面的權重規則來計算view應該佔據的空間。但是很多情況下,如果給view設定了match_parent的屬性,那麼上面計算權重時則不是通常的正比,而是反比,也就是權重值大的反而佔據空間小)。

對於所有的view預設的權重是0,如果你只設定了乙個view的權重大於0,那麼這個view將佔據除去別的view本身佔據的空間的的所有剩餘空間。因此這裡設定edittext的權重為1,使其能夠佔據除了按鈕之外的所有空間。

android:layout_weight="1"

... />

為了提公升布局的效率,在設定權重的時候,你應該把edittext的寬度設定為0dp。如果你設定為"wrap_content"作為寬度,系統需要自己去計算這個部件所占有的寬度,而此時的因為你設定了權重,所以系統自動會佔據剩餘空間,edittext的寬度最終成了不起作用的屬性。

android:layout_weight="1"

android:layout_width="0dp"

... />

下圖展示了設定權重時候的結果

現在看一下完整的布局檔案內容:

<?xml version="1.0" encoding="utf-8"?>

xmlns:android=""

xmlns:tools=""

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal">

android:id="@+id/edit_message"

android:layout_weight="1"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:hint="@string/edit_message" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/button_send" />

linearlayout>

PCB布局注意事項

1 實現統一功能電路模組中的元件應採用就近集中原則,同時數位電路和模擬電路分開 2 定位孔 標準孔等非安裝孔周圍1.27mm 內不得貼裝元 器件,螺釘等安裝孔周圍3.5mm 對於m2.5 4mm 對於m3 內不得貼裝元器件 3 臥裝電阻 電感 外掛程式 電解電容等元件的下方避免布過孔,以免波峰焊後過...

Android混淆注意事項

剛開始專案中需要加入混淆時候,不知道從何開始。各種查資料,然後就是一頭霧水不知道什麼事是正確的。沒有少折騰,其實混淆還是挺簡單的,用之前還是要老老實實的看一下官方的文件。大致知道 壓縮混淆,資源壓縮是個什麼意思。下面就是官方的兩個文件,乙個說明文件,乙個proguard使用手冊 官方文件中有幾個要點...

android開發注意事項

感謝 url color blue 1.listview color listview中item的布局至關重要,必須盡可能的減少使用的控制項,布局。relativelayout是絕對的利器,通過它可以減少布局的層次。同時要盡可能的復用控制項,這樣可以減少listview的記憶體使用,減少滑動時gc次...