日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android用户界面设计学习之旅-第二站

發布時間:2025/3/19 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android用户界面设计学习之旅-第二站 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通過上一篇文章,大概了解了Android用戶界面的設計方式,以及如何通過XML來設計界面。并且完成了一個非常簡單的示例。 在上一篇文章中,涉及到了一些資源文件,直觀點說,就是res目錄下的那些目錄和文件,常用的有:
  • res/drawable/ 用來存放圖片文件
  • res/layout/ 用來存放布局定義文件
  • res/values/ 用來存放一些變量、參數等文件
這些資源文件都是獨立于代碼而存在的,那么在代碼中又是如何訪問到這些資源的呢? 在 Android的代碼中,有一個文件比較奇怪,第一次接觸到Android代碼的人都應該迷惑過,這個文件就是R.java,在R.java的注釋部分, 有這樣一段話:“AUTO-GENERATE FILE. DO NOT MODIFY”,這個文件是自動生成的,不要修改。
  • 這個文件就是Java代碼和獨立于Java代碼的資源文件之間的訪問窗口,Java程序可以通過R.java來訪問那些資源文件。
  • 這個文件是在程序編譯過程中由aapt(Android Asset Packaging Tool) 自動生成
  • 這個文件中的屬性都是public static final的,所以可以直接在Java代碼中引用,每個屬性都代表一個資源,看起來就像為每個資源都定義了一個ID,然后通過這個ID來訪問資源
  • 所有的資源文件都被編譯進最后生成的二進制包中,這樣能夠帶來很高的性能和效率
按照前面的示例,那么在R.java中會存在像這樣一段代碼:public final class R {
????????public static final class attr {
????????}
????????public static final class drawable {
????????????????public static final int icon=0x7f020000;
????????}
????????public static final class layout {
????????????????public static final int main=0x7f030000;
????????}
????????public static final class string {
????????????????public static final int app_name=0x7f040001;
????????????????public static final int hello=0x7f040000;
????????}
}這里面的main就是由res/layout/main.xml生成的,其他兩個常量是由res/drawable/下icon.png和res/values/strings.xml生成的。
接下來在看一下,如何在Java代碼中使用這個R.java,創建一個文件Adventure.java :(開始快樂的學習旅程^_^)
package com.penguin.adventure;

import android.app.Activity;
import android.os.Bundle;

public class Adventure extends Activity {
????????/** Called when the activity is first created. */
????????@Override
????????public void onCreate(Bundle savedInstanceState) {
????????????????super.onCreate(savedInstanceState);
????????????????setContentView(R.layout.main);
????????}
}注意這其中的R.layout.main,通過setContextView(),被Java程序調用。 這段代碼中引入了另外一個非常重要的概念:Activity,到目前為止,已經介紹的另外兩個比較重要的概念是 ViewGroup和View。如果套用時髦的MVC來理解的話:ViewGroup和View屬于View領域的東西,Activity可以理解為 Control領域的東西,雖然可以這么類比著來理解,但是Activity其實做了更多的事情,由它將View和一些數據、操作等結合在一起,完成一個相對完整的行為、活動。所以,任何 View要被顯示,必須通過Activity來進行。這樣每個Activity都會包含特定的行為,多個Activity互相合作,最終組成一個完整的 Android程序。
在示例的Activity中,有一個onCreate()方法,這個方法會在此Activity被創建的時刻調用。在方法內部,設置此 Activity的視圖為R.layout.main中定義的視圖,也就是res/layout/main.xml中定義的視圖 (視圖、布局、GUI、UI在這里已經混合使用了,并且他們意義相同,后文統一用View表示)。 Activity所包含的內容很多,會用單獨的一篇文章來詳細介紹。 說到此處,我們應該知道如何創建一個View,并通過Activity將其顯示在屏幕上。接下來事情,就是用戶如何和這個Activity交互。

轉載于:https://blog.51cto.com/penguin7/221565

總結

以上是生活随笔為你收集整理的Android用户界面设计学习之旅-第二站的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。