- Android 基礎
- Android - 首頁
- Android - 概述
- Android - 環境搭建
- Android - 架構
- Android - 應用元件
- Android - Hello World 示例
- Android - 資源
- Android - 活動(Activity)
- Android - 服務(Service)
- Android - 廣播接收器(Broadcast Receiver)
- Android - 內容提供器(Content Provider)
- Android - 碎片(Fragment)
- Android - 意圖/過濾器(Intents/Filters)
- Android - 使用者介面
- Android - UI 佈局
- Android - UI 控制元件
- Android - 事件處理
- Android - 樣式和主題
- Android - 自定義元件
- Android 高階概念
- Android - 拖放
- Android - 通知
- 基於位置的服務
- Android - 傳送郵件
- Android - 傳送簡訊
- Android - 電話呼叫
- 釋出 Android 應用
- Android 實用示例
- Android - 警報對話方塊
- Android - 動畫
- Android - 音訊捕獲
- Android - AudioManager
- Android - 自動完成
- Android - 最佳實踐
- Android - 藍牙
- Android - 相機
- Android - 剪貼簿
- Android - 自定義字型
- Android - 資料備份
- Android - 開發者工具
- Android - 模擬器
- Android - Facebook 整合
- Android - 手勢
- Android - 谷歌地圖
- Android - 圖片效果
- Android - ImageSwitcher
- Android - 內部儲存
- Android - JetPlayer
- Android - JSON 解析器
- Android - Linkedin 整合
- Android - 載入旋轉器
- Android - 本地化
- Android - 登入螢幕
- Android - MediaPlayer
- Android - 多點觸控
- Android - 導航
- Android - 網路連線
- Android - NFC 指南
- Android - PHP/MySQL
- Android - 進度圓圈
- Android - 進度條
- Android - 推送通知
- Android - RenderScript
- Android - RSS 閱讀器
- Android - 螢幕錄製
- Android - SDK 管理器
- Android - 感測器
- Android - 會話管理
- Android - 共享首選項
- Android - SIP 協議
- Android - 拼寫檢查器
- Android - SQLite 資料庫
- Android - 支援庫
- Android - 測試
- Android - 文字轉語音
- Android - TextureView
- Android - Twitter 整合
- Android - UI 設計
- Android - UI 模式
- Android - UI 測試
- Android - WebView 佈局
- Android - Wi-Fi
- Android - 小部件
- Android - XML 解析器
- Android 實用資源
- Android - 常見問題解答
- Android - 實用資源
- Android - 討論
Android 框架佈局
FrameLayout 旨在在螢幕上劃分出一個區域,用於顯示單個專案。通常,FrameLayout 應該用於容納單個子檢視,因為它很難以可擴充套件的方式組織子檢視以適應不同的螢幕尺寸,而不會導致子檢視相互重疊。
但是,您可以向 FrameLayout 新增多個子元素,並透過為每個子元素分配重力(使用 android:layout_gravity 屬性)來控制它們在 FrameLayout 中的位置。
框架佈局
FrameLayout 屬性
以下是特定於 FrameLayout 的重要屬性:
| 序號 | 屬性 & 描述 |
|---|---|
| 1 | android:id 這是唯一標識佈局的 ID。 |
| 2 | android:foreground 這定義了要繪製在內容上的可繪製物件,可能的值可以是顏色值,例如“#rgb”、“#argb”、“#rrggbb”或“#aarrggbb”。 |
| 3 | android:foregroundGravity 定義要應用於前景可繪製物件的重力。重力預設為填充。可能的值包括頂部、底部、左側、右側、中心、垂直居中、水平居中等。 |
| 4 | android:measureAllChildren 確定在測量時是否測量所有子元素,或者僅測量處於 VISIBLE 或 INVISIBLE 狀態的子元素。預設為 false。 |
示例
此示例將引導您完成簡單的步驟,演示如何使用框架佈局建立自己的 Android 應用程式。按照以下步驟修改我們在Hello World 示例章節中建立的 Android 應用程式:
| 步驟 | 描述 |
|---|---|
| 1 | 您將使用 Android Studio IDE 建立一個 Android 應用程式,並將其命名為demo,放在包com.example.demo下,如Hello World 示例章節中所述。 |
| 2 | 修改res/layout/activity_main.xml檔案的預設內容,以在框架佈局中包含一些小部件。 |
| 3 | 無需更改 string.xml,Android 會處理預設常量。 |
| 4 | 執行應用程式以啟動 Android 模擬器,並驗證對應用程式所做的更改的結果。 |
以下是修改後的主活動檔案src/com.example.demo/MainActivity.java的內容。此檔案可以包含每個基本生命週期方法。
package com.example.demo;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
以下是res/layout/activity_main.xml檔案的內容:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:src="@drawable/ic_launcher"
android:scaleType="fitCenter"
android:layout_height="250px"
android:layout_width="250px"/>
<TextView
android:text="Frame Demo"
android:textSize="30px"
android:textStyle="bold"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:gravity="center"/>
</FrameLayout>
以下是res/values/strings.xml檔案的內容,用於定義兩個新的常量:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">demo</string> <string name="action_settings">Settings</string> </resources>
讓我們嘗試執行我們剛剛修改的Hello World!應用程式。我假設您在進行環境設定時建立了AVD。要從 Android Studio 執行應用程式,請開啟專案的其中一個活動檔案,然後單擊工具欄中的執行
圖示。Android Studio 將應用程式安裝到您的 AVD 上並啟動它,如果您的設定和應用程式一切正常,它將顯示以下模擬器視窗:
