iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
自我挑戰組

Android App 初學者從零開始用Kotlin寫APP系列 第 4

<Day4>Project Settings-res

  • 分享至 

  • xImage
  •  

android Resource 就常用layout & drawable & values 來説明,如圖所示

https://ithelp.ithome.com.tw/upload/images/20200917/20130598Vae9EQe80I.png

引自Android 開發指南說明

res/layout

定義使用者介面版面配置的 XML 檔案

常見有這幾種 LinearLayout RelativeLayout ConstraintLayout,

以按鈕為例:
id : id 在app 裡的唯一識別,不能重複命名
layout_width:寬
llayout_height:高
text:顯示文字

<androidx.appcompat.widget.AppCompatButton
        android:id="@+id/addBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="add"/>

以LinearLayout為例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical" >
    <TextView android:id="@+id/text"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="Hello, I am a TextView" />
    <Button android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello, I am a Button" />
</LinearLayout>

本次實作會用ConstraintLayout 作UI,之後會詳述說明。

res/drawable

支援類型的點陣圖檔案 (.png、.9.png、.jpg、.gif) 或 XML 檔案

即App 使用的圖檔常見的適用 .9.png 與png,.9.png 可以 是一種可延展的 png 圖檔,「可隨文字大小縮放」的圖片詳細請參考

res/values

位於其他 res/ 子目錄的 XML 資源檔案會根據 XML 檔案名稱定義單一資源,而位於 values/ 目錄的檔案則會描述多個資源。 針對這個目錄中的檔案, 元素的每個子項都會定義單一資源。 例如, 元素建立一個 R.string 資源, 元素建立一個 R.color資源。由於每個資源都是以自己的 XML 元素定義,您可以依照自己的喜好命名檔案,並將不同的資源類型放在一個檔案中。

常見有:
colors.xml 適用於色彩值
strings.xml 適用於字串值。
styles.xml 適用於樣式。

如:設定EditText hint 值

在res/values strings.xml裡,定義name 在:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="add_todo_hint">你的待辦事項</string>
</resources>

res/layout 中xml 將設定文字的地方改"@string/add_todo_hint"

<androidx.appcompat.widget.AppCompatEditText
       android:id="@+id/editTodo"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:hint="@string/add_todo_hint" />

*如:設定Button 文字顏色 *

colors.xml 定義顏色 name="blue"

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="blue">#FF0000FF</color>
</resources>

res/layout 中xml 將設定顏色的地方改 textColor="@color/blue"

<androidx.appcompat.widget.AppCompatButton
        android:id="@+id/addBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="add"
        android:textColor="@color/blue"
        app:layout_constraintBottom_toBottomOf="parent"/>

reference :https://developer.android.com/guide/topics/resources/providing-resources
reference :https://uiuxidtalktalk.wordpress.com/2018/05/18/android-%E9%BB%9E%E4%B9%9D%E5%88%87%E5%9C%96-9-png-9-patch/


上一篇
<Day3>Project Settings--AndroidManifest
下一篇
<Day5> 使用 emulator 或 手機 run App
系列文
Android App 初學者從零開始用Kotlin寫APP30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言