iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 9
0

在前幾天的文章中,我們曾經認識過兩種ViewGroup:LinearLayout(參考Day3)與RelativeLayout(參考Day4)。
今天要介紹的是NestedViewGroups,顧名思義有著巢狀的味道,沒錯,就是將不同ViewGroups嵌套起來的一種ViewGroup。

直接來個範例

在我們的計數器中,如果想要把 "+" 與 "-" 按鈕橫向排列,顯然我們需要一個水平排列的LinearLayout和一個垂直排列的LinearLayout合作:

  • 外層LinearLayout"vertical",且長與寬皆設為"match_parent"
  • 外層LinearLayout"horizontal",且長與寬皆設為"wrap_content"
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_marginTop="8dp"
    android:layout_marginLeft="8dp"
    tools:content=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="quantity"
        android:textSize="16sp"
        android:textAllCaps="true"/>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        tools:content=".MainActivity">
        
    <Button
        android:layout_height="48dp"
        android:layout_width="48dp"
        android:text="-"
        android:onClick="decrement"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/quantity_text_view"
        android:text="2"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:textSize="16sp"
        android:textColor="#000000"/>

    <Button
        android:layout_height="48dp"
        android:layout_width="48dp"
        android:text="+"
        android:onClick="increment"/>
    </LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="price"
        android:textSize="16sp"
        android:textAllCaps="true"
        android:layout_marginTop="16dp"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/price_text_view"
        android:layout_marginTop="16dp"
        android:textSize="16sp"
        android:textColor="#000000"/>
    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_marginTop="16dp"
        android:text="order"
        android:onClick="submitOrder"/>
</LinearLayout>

https://ithelp.ithome.com.tw/upload/images/20181024/201075697nArKITwwb.jpg

完成後如上圖。而Java的部分沒有太多變動,明天開始將來試著把這個計數器做成一個簡單的便當訂購介面吧!


上一篇
Day 8. 加入互動功能 (part.2)
下一篇
Day 10. 便當訂購介面與CheckBox (Part. 1)
系列文
向Android APP開發說Hello30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言