Time of Update: 2017-02-27
除了fragments(片段),在Android3和4中新增加的特性,還有ActionBar(活動欄)。ActionBar位於傳 統標題列的位置,就在裝置螢幕的頂部。ActionBar顯示了應用的表徵圖和Activity的標題。可選擇地, ActionBar的右側是那些action items(活動項目)。下圖展示了build-in(內建的)Email應用,顯示了應 用的表徵圖,Activity(活動)的標題,以及一些活動項目。下一節將詳細地討論action items(活動項目)
Time of Update: 2017-02-27
偶爾地,你可能想要確保你的應用程式在某一個確定的方向上面顯示,橫屏模式或豎屏模式。例如,你可 能會開發一款只在橫屏模式下面啟動並執行遊戲。在這種情況下,可以通過編寫代碼,強制把Activity的方向設 置為橫向,這需要使用Activity類的setRequestOrientation()方法。import android.content.pm.ActivityInfo; @Override public void onCreate(Bundle savedInstanceState) {
Time of Update: 2017-02-27
有的時候,可能需要在運行時瞭解當前手機螢幕的方向。可以使用WindowManager類去實現這個功能。下 面的代碼將展示如何通過編寫代碼去檢測裝置的螢幕方向:@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
Time of Update: 2017-02-27
目前為止,我們已經瞭解到了,當改變螢幕方向的時候,activity將會被銷毀,隨後被重建。請記住一點 ,當activity被重建之後,它的當前資訊可能消失。當一個activity被kill掉,將會調以下方法中的一個或 著兩個:onPause() —— 當一個activity被kill掉或被轉入背景時候,這個方法總是被調用。onSaveInstanceState() —— 當一個activity將被kill掉或轉入背景時候,這個方法也會被掉用,就
Time of Update: 2017-02-27
目前看來,我們已經看到了,可以使用兩種方法去適應螢幕方向的改變。現在,讓我們看以下,當螢幕方 向改變的時候,Activity狀態的改變。1. 建立一個工程:Orientations。2. main.xml檔案 。<?xml version="1.0" encoding="utf-8"?> <LinearLayout
Time of Update: 2017-02-27
使用RelativeLayout,可以很容易地實現錨定視圖。觀察以下的main.xml檔案,它包含了5個被內嵌在 <RelativeLayout>中的Button:<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
Time of Update: 2017-02-27
現代手機裝置的一個非常重要的特性就是可以旋轉螢幕的方向。當然了,Android也不例外。Android支援 兩種螢幕方向:portrait(豎屏)和landscape(橫屏)。預設情況下,當改變手持功能的螢幕方向時,當前 的anctivity會自動地重繪它的內容。這是因為當螢幕方向發生變化的時候,onCreate()方法被觸發了。說明:當改變裝置的螢幕方向,事實上,你的當前的activity會被銷毀,然後重新建立。然
Time of Update: 2017-02-27
ScrollView是一種特殊的FrameLayout,使用ScrollView可以使使用者能夠滾動一個包含views的列表,這樣 做的話,就可以利用比物理顯示地區更大的空間。有一點需要注意一下,那就是ScrollView只能包含一個子 視圖view或ViewGroup(這個ViewGroup通常是LinearLayout)。不要混合使用ListView和ScrollView
Time of Update: 2017-02-27
使用RelativeLayout,可以通過設定“相對位置”(每個View相對於另一個view的位置),來指定它所包 含的子view的位置。看下面main.xml中的代碼:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
Time of Update: 2017-02-27
AnalogClock視圖顯示了一個類比的時鐘,其中有一個時針和一個分針。與其相對的是DigitalClock視圖 ,它可以顯示數字類比時鐘。這兩個視圖只能顯示系統時間,不允許顯示一個特定時區的時間。因此,如果 你想要顯示一個特定時區的時間,那麼你就不得不去實現你自己的自訂控制項了。註:關於如何自定 義控制項,請查看如下網址。http://developer.android.com/guide/topics/ui/custom-
Time of Update: 2017-02-27
在上一節,我們已經知道了在按MENU鍵的時候,如何顯示選項菜單。但是,除了選項菜單,你也可以顯示 一個操作功能表。操作功能表通常是和activity中的組件相關聯的。當使用者長按一個組件的時候,它的上下 文菜單就會被觸發。例如,使用者長按一個Button,一個操作功能表就有可能被顯示。如果想要把一個 組件與一個操作功能表聯絡在一起,就需要在組件上面調用setOnCreateContextMenuListener()。下 面展示如何顯示一個操作功能表(Context Menu)。1.
Time of Update: 2017-02-27
現在,我們就可以去修改上一節中的項目了。這樣,在使用者按menu鍵的時候就會彈出選項菜單了。1. 使用上一節中的工程,在MenusActivity.java中添加一些代碼。public class MenusActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle
Time of Update: 2017-02-27
菜單可以用來顯示額外的選項,這些選項也不必出現在主介面中。在Android架構中,主要有2種菜單:選項菜單 —— 顯示與當前活動有關的資訊。使用MENU鍵,可以觸發這個菜單。操作功能表 —— 顯示與活動中某一個視圖相關的資訊。長按一個視圖,可以觸發這個菜單。左側是 選項菜單,右側是 操作功能表。在使用這兩種菜單之前,我們先介紹一下兩個輔 助方法。一個用來填充菜單中的選項列表,另一個用來處理菜單的選中事件。1. 建立一個工程: Menus。2.
Time of Update: 2017-02-27
GridView是一個可滑動的二維平面視圖。通常,用GridView去顯示一些圖片。下面展示如何使用GridView 。1. 建立一個工程,Grid。2. 在res/drawable-mdpi下面放一些圖片。3. main.xml 中的代碼。<?xml version="1.0" encoding="utf-8"?> <LinearLayout
Time of Update: 2017-02-27
前面的一節,介紹了如何組合使用Gallery和ImageView。但是,有的時候當你在gallery中點擊一個圖片 ,你可能不希望一個圖片“突然地”在imageview中顯示出來。例如,你可能希望給某個圖片設定一些切換動 畫。此時,就需要使用ImageSwitcher和Gallery一起使用。下面展示如何使用ImageSwitcher。1. 創 建一個工程,ImageSwitcher。2. main.xml中的代碼。<?xml
Time of Update: 2017-02-27
Gallery可以顯示一系列的圖片,並且可以橫向滑動。下面展示如何使用Gallery去顯示一系列的圖片。1. 建立一個工程,Gallery。2. main.xml中的代碼。<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2017-02-27
有的時候,我們做的程式需要提供一些選項的功能,能讓使用者去定製化他們自己的使用風格。舉個例子, 你可能允許使用者是否自動儲存登入資訊,允許使用者自己設定某個頁面的重新整理時間等等。在Android平台上面, 我們可以使用PreferenceActivity基類去顯示給使用者一個選項設定的介面。在Android3.0或更高的版本上, 可以使用PreferenceFragment類去實現這個功能。下面將展示如何去建立和使用PreferenceFragment 。1.
Time of Update: 2017-02-27
我們也可以建立另外一種片段——DialogFragment。顧名思義,DialogFragment就是一個浮動在Activity 上面的Fragment。當需要使用者的反饋時,DialogFragment就會派上用場。與使用ListFragment類似,需要繼 承DialogFragment基類。下面將會展示如何使用DialogFragment。1. 建立一個工程: DialogFragmentExample。2.
Time of Update: 2017-02-27
ListFramgent就是一個包含ListView的Fragment,它可以通過資料來源(數組或遊標)顯示一系列的資訊。 ListFragment是非常有用處的,就像RSS,可能左邊顯示一個列表,右邊顯示被選中的列表所對應的內容。可以通過繼承ListFragment建立一個ListFragment對象。下面將展示如何使用ListFragment。1. 建立一個工程:ListFragmentExample。2. main.xml中的代碼。<?xml
Time of Update: 2017-02-27
從前面的幾節課可知,ListView用來顯示一個長列表資訊,同時把整個螢幕佔滿了(ListActivity)。但 是有的時候,你可能需要其他類似的視圖,這樣,你就不必把整個螢幕都佔滿了。在這種情況下,你就應該 使用Spinner控制項。Spinner一次顯示列表中的一個資訊,並且它能讓使用者進行選擇。下面將展示如何 在Activity中使用Spinner。1. 建立一個工程:BasicViews6。2. main.xml中的代碼。<?xml version="1.0"