Android用户界面设计学习之旅-第二站
生活随笔
收集整理的這篇文章主要介紹了
Android用户界面设计学习之旅-第二站
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
通過上一篇文章,大概了解了Android用戶界面的設(shè)計方式,以及如何通過XML來設(shè)計界面。并且完成了一個非常簡單的示例。 在上一篇文章中,涉及到了一些資源文件,直觀點說,就是res目錄下的那些目錄和文件,常用的有:
????????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,創(chuàng)建一個文件Adventure.java :(開始快樂的學(xué)習(xí)旅程^_^)
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程序調(diào)用。 這段代碼中引入了另外一個非常重要的概念:Activity,到目前為止,已經(jīng)介紹的另外兩個比較重要的概念是 ViewGroup和View。如果套用時髦的MVC來理解的話:ViewGroup和View屬于View領(lǐng)域的東西,Activity可以理解為 Control領(lǐng)域的東西,雖然可以這么類比著來理解,但是Activity其實做了更多的事情,由它將View和一些數(shù)據(jù)、操作等結(jié)合在一起,完成一個相對完整的行為、活動。所以,任何 View要被顯示,必須通過Activity來進行。這樣每個Activity都會包含特定的行為,多個Activity互相合作,最終組成一個完整的 Android程序。
在示例的Activity中,有一個onCreate()方法,這個方法會在此Activity被創(chuàng)建的時刻調(diào)用。在方法內(nèi)部,設(shè)置此 Activity的視圖為R.layout.main中定義的視圖,也就是res/layout/main.xml中定義的視圖 (視圖、布局、GUI、UI在這里已經(jīng)混合使用了,并且他們意義相同,后文統(tǒng)一用View表示)。 Activity所包含的內(nèi)容很多,會用單獨的一篇文章來詳細介紹。 說到此處,我們應(yīng)該知道如何創(chuàng)建一個View,并通過Activity將其顯示在屏幕上。接下來事情,就是用戶如何和這個Activity交互。
- res/drawable/ 用來存放圖片文件
- res/layout/ 用來存放布局定義文件
- res/values/ 用來存放一些變量、參數(shù)等文件
- 這個文件就是Java代碼和獨立于Java代碼的資源文件之間的訪問窗口,Java程序可以通過R.java來訪問那些資源文件。
- 這個文件是在程序編譯過程中由aapt(Android Asset Packaging Tool) 自動生成
- 這個文件中的屬性都是public static final的,所以可以直接在Java代碼中引用,每個屬性都代表一個資源,看起來就像為每個資源都定義了一個ID,然后通過這個ID來訪問資源
- 所有的資源文件都被編譯進最后生成的二進制包中,這樣能夠帶來很高的性能和效率
????????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,創(chuàng)建一個文件Adventure.java :(開始快樂的學(xué)習(xí)旅程^_^)
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程序調(diào)用。 這段代碼中引入了另外一個非常重要的概念:Activity,到目前為止,已經(jīng)介紹的另外兩個比較重要的概念是 ViewGroup和View。如果套用時髦的MVC來理解的話:ViewGroup和View屬于View領(lǐng)域的東西,Activity可以理解為 Control領(lǐng)域的東西,雖然可以這么類比著來理解,但是Activity其實做了更多的事情,由它將View和一些數(shù)據(jù)、操作等結(jié)合在一起,完成一個相對完整的行為、活動。所以,任何 View要被顯示,必須通過Activity來進行。這樣每個Activity都會包含特定的行為,多個Activity互相合作,最終組成一個完整的 Android程序。
在示例的Activity中,有一個onCreate()方法,這個方法會在此Activity被創(chuàng)建的時刻調(diào)用。在方法內(nèi)部,設(shè)置此 Activity的視圖為R.layout.main中定義的視圖,也就是res/layout/main.xml中定義的視圖 (視圖、布局、GUI、UI在這里已經(jīng)混合使用了,并且他們意義相同,后文統(tǒng)一用View表示)。 Activity所包含的內(nèi)容很多,會用單獨的一篇文章來詳細介紹。 說到此處,我們應(yīng)該知道如何創(chuàng)建一個View,并通過Activity將其顯示在屏幕上。接下來事情,就是用戶如何和這個Activity交互。
轉(zhuǎn)載于:https://blog.51cto.com/penguin7/221565
總結(jié)
以上是生活随笔為你收集整理的Android用户界面设计学习之旅-第二站的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对四方继保实施嵌入式Linux开发培训
- 下一篇: 号外,快钱发错钱了