簡體   English   中英

Android布局屬性的高級說明?

[英]Advanced Explanation of Android Layout Properties?

我正在努力學習如何在Android中正確布局組件。 我是一名經驗豐富的CSS / MXML開發人員,我很難完全理解Android組件中的布局屬性。

有一點是我不確定這些之間的區別:

  • layout_margin與padding
  • layout_gravity vs. gravity與ignoreGravity

你應該使用線性,表格或相對布局來使用其中一個嗎? 我想學習的一個例子是布局上的整體邊距,其中包含與屏幕頂部/中部/底部相關的獨立組件。 sdk文檔是一個良好的開端,但它們並沒有顯示在不同情況下的工作方式。

關於在哪里學習更復雜/全面的布局設計的任何提示?

具有前綴layout_任何屬性都是LayoutParams屬性。 雖然視圖本身在視圖構造期間解析了大多數視圖屬性,但LayoutParams是父視圖的特殊參數,它提供有關父級應如何調整子視圖大小和位置的提示。 哪個LayoutParams在視圖上有效完全取決於父視圖的類型。

因此, layout_margin是對支持邊距的父視圖的指令。 它說,“在我和其他觀點或父母的邊緣之間留下這么大的空間。” 填充是視圖邊緣與其內容之間視圖內的空間。

layout_gravity是其父級中單個子layout_gravity的重力。 gravity會影響它出現的視圖的內容。

您使用哪一個取決於您想要達到的結果。 如果您希望布局在其邊緣及其所有內容之間具有固定的空間量,則需要填充。 如果要將布局自己的邊緣移動一定距離,則需要邊距。 如果沒有設置背景的布局,這兩個可以在視覺上等效。 當您開始創建復雜的UI時,布局具有9個補丁背景,可視化地對內容進行分組,差異變得明顯。

在此輸入圖像描述

我希望你能看到填充和邊距之間的區別。 填充是內部間距,而邊距是外部間距。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM