iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
Mobile Development

Android studio 30天初學筆記系列 第 5

[Android Studio 30天挑戰] Day05 - 介紹Layout版面(上)

  • 分享至 

  • xImage
  •  

Layout介紹

  1. ConstraintLayout。
  2. LinearLayout。
  3. TableLayout。
  4. FrameLayout。

ConstraintLayout

這是一個非常靈活的布局,能夠按照比例約束控制元件位置和尺寸,而首先這個布局需要先設定「」或「」各一條再加「」或「」各一條的約束,而如果你只給它X或Y的約束,則沒約束的軸會沒有基準點然後跑錯誤。/images/emoticon/emoticon02.gif

綁定約束

https://ithelp.ithome.com.tw/upload/images/20220710/20150369M3kdKKW0cl.png

app:layout_constraint/*<我的方向>*/_to/*<對應元件方向>*/Of="parent"
  • 將此物件設定的方向對其另一物件的方向。
app:layout_constraintBaseline_toBaselineOf 
  • 將文字TextA的底線對齊文字TextB的底線。

元件位置

基本上移動元件的位置有三種第一種是在上面的程式部分使用。

android:layout_margin /*< End或Start或Top或Bottom或Left或Right >*/ ="/*要的位置*/" 

第二和第三種分別是在版面上直接拉動,以及在Attributes裡進行調整。
https://ithelp.ithome.com.tw/upload/images/20220710/20150369qe01qc5RCj.png

LinearLayout

這一個布局分為兩種方向,一種是水平方向的(horizontal)以及垂直方向的(vertical),可以運用這兩種方向合併使用進而達到各種不同的畫面。

首先來看一下程式的部分

<?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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
​
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
​
        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:layout_weight="1"
            android:text="TextView" />
​
        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="7"
            android:layout_weight="1"
            android:text="TextView" />
    </LinearLayout>
​
</LinearLayout>

這裡用的是最外層為垂直(vertical)使裡面的LinearLayout能一個疊一個的顯示,而裡面包著的是水平(horizontal)讓裡的TextView元件能並排顯示。

常見屬性

android:layout_/*<寬或高>*/="/*<寬或高的大小>*/"
  • 調整高或寬的大小,也可以用wrap_content來和match_parent。
    (="wrap_content":依照內容物件的大小去更動寬或高,="match_parent":填滿上層元件的寬或高)。
android:layout_weight="/*<權重大小>*/"
  • 這是一個用比例來管理元件大小的方法,如果想要讓兩個元件七三分就可以向上面程式碼一樣,一個元件給(0.7)另一個給(0.3)。
android:gravity="/*方向*/" 
  • 可用於控制元件裡面元素的方向(文字等,如center、left、center|vertical等)。
 android:padding="/*<大小>*/"
  • 此元件內容物件與元件邊界拉開的距離。
android:layout_margin="/*<大小>*/"

上一篇
[Android Studio 30天挑戰] Day04 - Android Stutio的Project視窗介紹
下一篇
[Android Studio 30天挑戰] Day06 - 介紹Layout版面(下)
系列文
Android studio 30天初學筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言