android基礎學習-android篇day12-android的UI基礎入門
Activity介紹
內容概覽:
- -什麼是Activity?
- -Activity的啟動流程
- -Activity與佈局之間的關係
- -Activity與View之間的關係
什麼是Activity?
- -Activity是一個應用程式元件
- -為應用程式提供一個視覺化介面
- -使用者與應用程式進行互動的介面
啟動Activity要素
什麼是XML?
XML(Extensible Markup Language)也叫做可擴充套件標記語言.
XML 是軟體開發中最常用的一項基本技能,在好多框架中都會用到 xml
XML 也是一種資料交換格式。
XML與HTML的區別
比較內容 |
HTML |
XML |
可擴充套件性 EXTENSION |
不具有擴充套件性 |
是元標識語言,可用於定義新的標 識語言 |
側重點 |
側重於如何表現資訊 |
側重於如何結構化地描述資訊 |
語法要求 |
不要求標記的巢狀,配對等,不 要求標識之間具有一定的順序 |
嚴格要求巢狀,配對,並遵循 DTD (文件型別定義)的樹形結構 |
可讀性及可維護性 |
難於閱讀,維護 |
結構清晰,便於閱讀,維護 |
資料和顯示的關係 |
內容描述與顯示方式整合為一 體 |
內容描述與顯示方式相分離 |
保值性 |
不具有保值性 |
具有保值性 |
編輯及瀏覽工具 |
已有大量的編輯,瀏覽工具 |
編輯,瀏覽工具尚不成熟 |
更多說明:
- XML 同 HTML 都來自 SGML。
- HTML 是一種固定格式的超文字標識語言,因格式固定,標識有限,故難以擴充套件。
- 而 XML 保留了 SGML 的可擴充套件功能,可以定義其他語言,同時,使用者可以自己定義 XML
- 的標識。
- XML 提供了一個直接“處理”web 資料的通用方法,而 HTML 只是 web”顯示”資料的通用方法。
- XML 著重描述的是 web 頁面的”內容”,而 HTML 著重頁面”顯示格式“。
- XML 使機器能交談(能自動處理資訊),HTML 方便了人與人的交流(只是網路初級階段)。
- XML 具有良好的互動性,它可以在客戶機上進行資料操作,不需與伺服器互動,極大
- 地減輕了伺服器的負擔。
- HTML 不支援深層的結構描述,而 XML 的檔案結構巢狀可以複雜到任何程度。
什麼是View?
- "螢幕方塊內所顯示的內容,都可以稱為View或View的子類"
如何獲取Acitivity中控制元件物件?
- (TextView)findViewById(R.id.textView1);
- 通過findViewById返回View型別
- 通過(TextView)型別轉換View的向下轉型 為TextView
如何動態更改控制元件的屬性?
- 第一步:獲取View的物件
- 第二步:通過物件呼叫.set方法即可設定
為控制元件新增監聽器
Q:什麼是監聽器?
- A:監聽器是一個物件,用於捕獲View的狀態。當View的狀態發生改變時可使用監聽器對其進行相應操作;
- A:同一控制元件可以設定多種監聽器,對不同狀態進行捕獲監聽。
新增監聽器的步驟 :
- 佈局檔案中定義控制元件
- 在Activity中定義控制元件類屬性
- 在Acitivity中獲取代表控制元件的物件
- 定義一個類實現監聽器的介面,並重新其抽象方法
- 生成監聽器物件
- 為控制元件新增監聽器
基礎佈局介紹
-
-什麼是Layout?
-
-Layout與ViewGroup之間的關係
-
-Layout實現方式
-
-Layout的種類
什麼是Layout?
- Layout-介面佈局,為應用程式提供介面結構
- 控制Activity中控制元件的大小、位置、顏色等熟悉的方法
- 如果UI控制元件是盤子。Activity是餐桌,如何擺放盤子才能讓餐桌看起來美觀,使用Layout提供架構。
Layout與ViewGroup的關係
佈局的種類
佈局的實現方式:
編寫佈局檔案注意的問題
- 每一個Layout佈局檔案有且只有一個根標籤(元素),必須為View或者ViewGroup物件
- 在根標籤下,新增子元素,並逐漸建立一個View層次來定義你的Layout。
gravity屬性:
gravity與layout_gravity
- android:gravity: 用於設定該控制元件中內容相對於該控制元件的對對齊方式
- android:layout_gravity: 用於設定該控制元件相對於父控制元件的對齊方式
- 注意:
- android:gravity:可以不用考慮當前佈局的方向
- android:layout_gravity:需要考慮當前佈局的物件
- 當父控制元件的位置android:orientation="vertical"為垂直方向時,layout_gravity只有水平方向的設定才起作用,垂直方向的設定 不起作用。即:left,right,center_horizontal 是生效的;而gravity都可以使用。
padding和 margin邊距的屬性
- padding:
- 用於設定該控制元件中內容相對於該控制元件的邊距,即內邊距。
- margin:
- 用於該控制元件相對於控制元件的邊距,即外邊距
weight屬性 :
layout_weight的值用於在線性佈局(只線上性佈局)中指定父控制元件剩餘空間的比例分配。
距離單位解析
注意:在使用固定長度-單位設定的時候:設定控制元件寬高dp 字型大小sp
定義一個activity的流程:
- -建立一個Activity子類
- -重寫Acitivity中的oncreate方法
- -在AndroidManifest.xml中對Activity進行註冊
啟動一個activity流程:
- -建立Intent意圖物件()
- -呼叫setClass設定要啟動那個Activity
- -呼叫startActivity進行跳轉
相關文章
- android基礎學習-android篇day12-UI基礎控制元件(上)AndroidUI控制元件
- android基礎學習-android篇day13-UI基礎控制元件(下)AndroidUI控制元件
- android基礎學習-android篇day11-android的入門工具安裝流程Android
- Android基礎學習Android
- Android OpenGL 基礎入門Android
- android基礎學習-android篇day14-UI基礎控制元件綜合案例——點餐系統AndroidUI控制元件
- 前端學習小結(一)—基礎入門篇前端
- Android UI 繪圖基礎AndroidUI繪圖
- android基礎學習-android篇day16-Menu的使用Android
- Android 面試基礎篇Android面試
- Android入門教程 | Fragment 基礎概念AndroidFragment
- Android基礎知識學習Android
- 零基礎輕鬆入門——JAVA基礎學習Java
- Kafka基礎入門篇Kafka
- JDBC入門基礎篇JDBC
- JDK學習基礎入門(一)JDK
- mysql 基礎命令入門學習MySql
- android基礎學習-android篇day16-Dialog的使用Android
- android基礎學習-android篇day17-Android Fragment(碎片)基本使用AndroidFragment
- TypeScript入門指南(基礎篇)TypeScript
- JS基礎入門篇( 一 )JS
- JS基礎入門篇(一)JS
- java入門基礎學習----泛型Java泛型
- node 學習筆記 基礎入門筆記
- Oracle學習快速入門基礎教程Oracle
- Android NDK學習筆記1-基礎知識篇Android筆記
- Android NDK入門:C++ 基礎知識AndroidC++
- ui設計培訓需要什麼基礎?如何入門學習?UI
- 給深度學習入門者的Python快速教程 - 基礎篇深度學習Python
- android基礎學習-android篇day17-Activity的生命週期(轉)Android
- Android 動畫基礎知識學習(下)Android動畫
- Android面試之Java 基礎篇Android面試Java
- Android基礎Android
- Pytest學習(一)- 入門及基礎
- Dart 語言基礎入門篇Dart
- 入門MySQL——基礎語句篇MySql
- TypeScript入門完全指南(基礎篇)TypeScript
- Android程式設計基礎 • 【第1章 Android程式入門】Android程式設計