初學Android Studio,是在b站看的教程視頻,這裏的筆記也是以其爲基礎的,我的強烈安利:html
【天哥】Android開發視頻教程最新版 Android Studio開發android
能夠把界面設計看做是,讓各個控件都擺放得有條不紊,各得其所。佈局就至關於放置控件的容器,經過控制佈局參數,能夠按照必定規律調整內部控件的位置。app
一個豐富的Android界面由UI控件和結構化佈局對象組成。dom
常見佈局可分爲如下幾類:ide
此外,還有基本不會使用的絕對佈局(AbsoluteLayout)和採用可視化界面拖拽控件的約束佈局(ConstraintLayout)佈局
佈局至少須要設置的屬性爲android:layout_width和android:layout_heightui
分別控制佈局的寬度和高度,通常填入的參數爲match_parent1和wrap_content2,若是有須要也可填入具體尺寸this
下面介紹線性佈局和相對佈局的幾個特有屬性。google
LinearLayout
用於使全部子視圖在單個方向(垂直或水平)保持對齊,方向由android:orientation決定,默認值爲vertical(垂直),可改成horizontal(水平)編碼
若須要讓子元素使用大小不一樣的屏幕空間 ,可設置權重劃分屬性 android:layout_weight,規則是控件先按佔用設置的寬度或高度,剩餘的寬度或高度按設置權重相應的比例來分配。
RelativeLayout
用於以相對位置顯示子視圖。能夠指定爲相對於同級元素定位(例如在另外一個視圖的左側或下方)或相對於父級區域定位(例如在左側、底部或中心對齊)
margin與padding的區別:
margin表明的是偏移,針對的是容器中的組件
padding表明的則是填充,針對的是組件中的元素
gravity相似於Word裏面的設置文字對齊方式,能夠設置容器內組件的對齊方式,
線性佈局比較適合全部控件都是整齊排列的頁面,加載速度較慢。
相對佈局能夠按照本身的想法來放置控件的位置,但寫起來比較麻煩,須要本身考慮好全部控件的的佈局。
簡單分析下佈局文件xml中的開頭:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" ...
version="1.0":聲明用的xml版本是1.0
encoding="UTF-8":聲明用xml傳輸數據使用的字符編碼爲UTF-8。(UTF-8可傳中文)
下面是三個一樣的句式,xmlns:namespace-prefix="namespaceURI"
xmlns:保留字xml namespace
的縮寫,意思是xml命名空間
namespace-prefix:命名空間前綴
namespaceURI:命名空間惟一標識符 URI3
xmlns:android="http://schemas.android.com/apk/res/android"
聲明這個命名空間引用自Android系統
xmlns:app="http://schemas.android.com/apk/res-auto"
導入自定義控件的一些屬性或者support支持包
xmlns:tools="http://schemas.android.com/tools"
用於調試預覽,打包爲apk的時候全部tools添加的屬性都會被摒棄,方便進行頁面調整
圖片來自——Android佈局文件中的xmlns:tools做用以及用法https://blog.csdn.net/qq_24531461/article/details/52804473
原本打算作個demo演示一下的,考慮到控件還沒寫,放到後面的部分吧....
Google 安卓開發者指南 佈局部分
Android開發的經常使用佈局
Android Studio中match_parent和wrap_content的區別https://blog.csdn.net/qq_38900441/article/details/83420480
Android線性佈局和相對佈局的詳解和區別http://www.javashuo.com/article/p-vsaevjvw-ea.html
RelativeLayout(相對佈局)|菜鳥教程
https://www.runoob.com/w3cnote/android-tutorial-relativelayout.html
<?xml version="1.0" encoding="utf-8"?>的做用
Why this line xmlns:android="http://schemas.android.com/apk/res/android" must be the first in the layout xml file?
Android佈局文件中的xmlns:tools做用以及用法https://blog.csdn.net/qq_24531461/article/details/52804473
Android佈局理解之xmlns
匹配父佈局,也就是由父佈局來決定當前控件的大小↩
包含內容,也就是由控件內容決定當前控件的大小↩
A Uniform Resource Identifier (URI) is a string of characters which identifies an Internet Resource.The most common URI is the Uniform Resource Locator (URL) which identifies an Internet domain address. Another, not so common type of URI is the Universal Resource Name (URN).所以這裏看似一個網址(URL),實際上至關於一個固定值(常量),不可訪問↩