【正文】
Android界面 設(shè)計(jì) 基礎(chǔ) 網(wǎng)絡(luò)資源: : 489059718(Android編程 清華版 ) 287966120(公共版) 號: 1281147324 本章知識結(jié)構(gòu) V i e w布 局 管 理 器( V i e w G r o u p )文 本 顯 示 框 ( T e x t V i e w )文 本 編 輯 框 ( E d i t T e x t )按 鈕 ( B u t t o n )線 性 布 局絕 對 布 局表 格 布 局相 對 布 局 層 布 局?其 他 布 局自 定 義 組 件 本章示例 基本界面控件使用 布局管理器的嵌套使用 基礎(chǔ) View控件 View與 ViewGroup類 1 View類 ?View類是所有界面控件類的 超類 ; ?代表屏幕上一塊 空白的矩形區(qū)域 ,用于繪畫和事件處理; ?在 View類中定義了控件的一些 共同屬性 (例如透明度、邊距、旋轉(zhuǎn)、縮放等) 。 ViewGroup控件 的層次 結(jié)構(gòu) View控件 視圖組 視圖 4 控制界面顯示的兩種方法 ?通過 XML布局文件 設(shè)置控件 屬性 進(jìn)行控制。 ?完全使用 XML布局文件雖然方便、便捷,但 靈活性不好 , 不能動態(tài)改變屬性值 。 識別自動鏈接的屬性為: android:autoLink, 該屬性的值為: ?none: 不匹配任何格式,這是默認(rèn)值。 ?map: 只匹配地圖地址,地理位置會以超鏈接的形式顯示。 ? px (像素 pixels) : 屏幕上真實(shí)像素表示,不同設(shè)備顯示效果相同, 用于表示清晰度,像素越高越清晰。 TextView tv=((TextView)findViewById()。 ?android:hint: 設(shè)置文本框內(nèi)容為空時(shí),文本框內(nèi)顯示的提示信息( 灰色 ),一旦輸入內(nèi)容,該提示立即消失,當(dāng)刪除文本框內(nèi)容時(shí),提示信息又會自動出現(xiàn)。 按鈕是人機(jī)交互中一個(gè)關(guān)鍵的控件,主要用于發(fā)送請求、提交數(shù)據(jù)等,例如登錄、注冊等。 應(yīng)用舉例 A c t i v i t y 標(biāo) 題圖 標(biāo)文 本 顯 示 框 ( T e x t V i e w ) 居中 顯 示 , 文 本 內(nèi) 容 顏 色 不 一致 , ( 使 用 到 H t m l 標(biāo) 簽 )文 本 編 輯 框( E d i t T e x t ) , 包 含提 示 信 息 , 寬 度 填 充父 容 器 。 應(yīng)用舉例 本程序涉及 html格式標(biāo)簽的使用,需在 java代碼中進(jìn)行簡單設(shè)置,首先通過 findViewById()方法獲得組件,然后進(jìn)行設(shè)置顯示文本。 布局管理器 android中布局管理器本身也是一個(gè)界面組件,所有的布局管理器都是 ViewGroup類的子類,都可以當(dāng)做容器來使用。通過其 android:orientation屬性來設(shè)置。 ? 在表格布局中,通過添加 TableRow來添加 表格行 ,TableRow本身也是容器 ,可以添加其他控件, 每添加一個(gè)控件,相對于該行添加了一列 。 ? android:shrinkColumns: 收縮 指定的列以適合屏幕,使整行能夠完全顯示不會超出屏幕。 ? android:layout_span: 指定 控件所 跨越的列數(shù) ,即將多列合并為一列。方位或?qū)R方式的值為參考控件的 ID,由于父容器是確定的,只有一個(gè),所以與父容器方位與對齊的關(guān)系取值為 true或false。 ? 絕對布局, 即指定每個(gè)控件在手機(jī)上的具體坐標(biāo),每個(gè)控件的位置和大小都是固定的。(特殊符號: ← 、 √ 、 177。本例中,按鈕“ 2”以“ 1”按鈕 (id為“ one”,見下面代碼第 6行 )為參考,與“ 1”頂端對齊(見代碼14行),在“ 1”的右邊(見代碼 15行),詳見下面代碼。 。 開發(fā)自定義 View 例如 我們自定義一個(gè)圓形組件,運(yùn)行效果如下圖 開發(fā)自定義 View → 定義自定義組件類 → 構(gòu)造方法,調(diào)用父類構(gòu)造方法 → 重寫父類的 onDraw()方法 → 創(chuàng)建一個(gè)畫筆 → 設(shè)置畫筆顏色 ——藍(lán)色 → 畫一個(gè)圓,半徑為 50 開發(fā)自定義 View 通過 xml布局文件來使用該組件,代碼如下: → 完整的包名 +類名