編輯:初級開發
widget [ˈwidʒit]小器具,裝飾品;窗口小部件,(不知名的)小器物,小裝置,小玩意兒
1.TabHost,它是用來存放多個Tab標簽的容器,每一個Tab可以對應自己的布局。
2.使用TabHost,首先聲明TabHost對象,並通過getTabHost方法獲取TabHost的對象,然後通過addTab方法
向TabHost中添加Tab。代碼如下:
TabHost mTabHost;
mTabHost = getTabHost();
mTabHost.addTab(mTabHost.newTabSpec("tab_test1")
.setIndicator("TAB 1",getResources().getDrawable(R.drawable.img1))
.setContent(R.id.textvIEw1));
3.//設置TabHost的背景顏色
mTabHost.setBackgroundColor(Color.argb(250, 202, 170, 150));
//設置TabHost的背景圖片資源
mTabHost.setBackgroundResource(R.drawable.bg0); mTabHost.setCurrentTab(0);
4.每個Tab在切換時都會產生一個事件,需要設置每個TabActivity的事件監聽setOnTabChangedListener,
代碼如下:
mTabHost.setOnTabChangedListener(
new OnTabChangeListener()
{
public void onTabChanged(String tabId) Dialog dialog = new AlertDialog.Builder(Activity01.this)
.setTitle("提示")
.setMessage("當前選中:"+tabId+"標簽")
.setPositiveButton("確定",new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int whichButton) dialog.cancel(); }
).create();//setPositiveButton 創建按鈕
dialog.show(); });
二.布局實現
1.添加一個TabHost。
2.添加一個線性布局層。
3.在剛添加的線性布局層裡面先添加一個TabWidget,之後再添加一個層疊式布局層。
4.在層疊式布局層裡面添加需要的控件。
三.日志使用
private static final String TAG = "Activity01";
Log.v(TAG, "onCreate");
四.Android 應用解析,android應用程序有四個模塊構造而成:Activity,Intent,Content Provider,Service
1.Activity代表一個用戶所能看到的屏幕
2.Intent實現在Activity與Activity之間的切換,如果希望android應用能夠對外部事件做出響應,可使用
IntentReceiver。
intent-filter
【英語學習】filter 英[ˈfiltə]n. 1.過濾, 過濾器2.濾波器 4.(香煙頭上的)過濾嘴;
vt 1.透過, 過濾 vi.1.(消息等)走漏
3.Content Provider內容提供器,提供一組標准的方法能讓其他應用保存或者讀取此內容提供器處理的各種
數據類型,首先通過getContentResolver來取得一個ContentResolver對象,然後通過其標准方法對數據
進行相應的操作。
4.Service Activity可以通過startService啟動一個服務也可以通過bindService連接到一個服務,在使用
服務時需要在androidManifest.XML中聲明一個服務
五.android 應用程序生命周期
創建(onCreate)->開始(onStart)->重繪(onResume)->運行->暫停(onPause)->停止(onStop)->銷毀(onDestory)
很多初入Android的開發者可能會發現經常遇到Force Close或ANR這樣的問題,一般我們通過android系統的錯誤日志打印工具Logcat可以看到出錯的內容
最近逛其它論壇的時候看到有這樣一個問題,需要界面加載完成後自動彈出軟鍵盤。開始我認為沒有那麼麻煩,最後自己做了一個小例子,還真不好搞定,直到昨天再想這個的問題的時候,想
android SDK提供了一個強大的類Drawable,Drawable這個抽象類到底代表了什麼,如何使用?Drawable是個很抽象的概念,通過簡單的例子程序來學習
l 使用Intent物件雖然透過Intent並非最快速,但卻是最有彈性的。無論是同一進程或是跨進程的溝通都可以使用它。例如:/* ===== EX-02 ======