西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)Android → Android 手機電話薄TabWidget多標簽切換卡效果

Android 手機電話薄TabWidget多標簽切換卡效果

相關軟件相關文章發(fā)表評論 來源:西西整理時間:2013/4/17 22:43:47字體大。A-A+

作者:西西點擊:0次評論:2次標簽: 標簽切換

  • 類型:文件處理大。209KB語言:中文 評分:7.0
  • 標簽:
立即下載

TabWidget類似于Android 中查看電話薄的界面,通過多個標簽切換顯示不同內(nèi)容。要實現(xiàn)這一效果,首先要了解TabHost,它是一個用來存放多個Tab標簽的容器。每一個Tab都可以對應自己的布局,比如,電話薄中的Tab布局就是一個List的線性布局了。 
要使用TabHost,首先需要通過getTabHost方法來獲取TabHost的對象,然后通過addTab方法來向TabHost中添加 Tab。當然每個Tab在切換時都會產(chǎn)生一個事件,要捕捉這個事件需要設置TabActivity的事件監(jiān)聽 setOnTabChangedListener。

1、布局文件

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@android:id/tabhost"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" >

  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TabWidget
      android:id="@android:id/tabs"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" />

    <FrameLayout
      android:id="@android:id/tabcontent"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" >

      <TextView
        android:id="@+id/textview1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="Linux"
        android:textColor="#FF0000" />

      <TextView
        android:id="@+id/textview2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="MAC"
        android:textColor="#385E0F" />

      <TextView
        android:id="@+id/textview3"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="Windows"
        android:textColor="#1E90FF" />
    </FrameLayout>
  </LinearLayout>

</TabHost>

2、修改MainActivity,注意是繼承自TabActivity

public class MainActivity extends TabActivity {

	private TabHost tabHost;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		tabHost = getTabHost();

		addTab();// 添加標簽
		// 設置TabHost背景顏色
		tabHost.setBackgroundColor(Color.argb(150, 20, 80, 150));
		// 設置TabHost背景圖片資源
		tabHost.setBackgroundResource(R.drawable.ic_launcher);
		// 設置當前顯示哪一個標簽 我的理解就是當你第一次啟動程序默認顯示那個標簽 這里是指定的選項卡的ID從0開始
		tabHost.setCurrentTab(0);
		// 標簽切換事件處理,setOnTabChangedListener 注意是標簽切換事件不是點擊事件,而是從一個標簽切換到另外一個標簽會觸發(fā)的事件
		tabHost.setOnTabChangedListener(new OnTabChangeListener() {
			@Override
			public void onTabChanged(String tabId) {
				AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
				Dialog dia;
				builder.setTitle("提示");
				builder.setMessage("當前選中了" + tabId + "標簽");
				builder.setPositiveButton("確定", new OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {
						dialog.cancel();
					}
				});
				dia = builder.create();
				dia.show();
			}
		});
	}

	// 為TabHost添加標簽 新建一個newTabSped(new TabSpec) 設置其標簽和圖標(setIndicator)、設置內(nèi)容(setContent)
	// TabSpec是TabHost的內(nèi)部類 TabHost對象的 newTabSpec()方法返回一個TabSpec對象
	// 源碼里邊是這么寫的 public TabSpec newTabSpec(String tag)
	// { return new TabSpec(tag); }
	private void addTab() {
		tabHost.addTab(tabHost
				.newTabSpec("tab1")
				.setIndicator("TAB1",
						getResources().getDrawable(R.drawable.ic_launcher))// setIndicator()此方法用來設置標簽和圖表
				.setContent(R.id.textview1));
		// 指定內(nèi)容為一個TextView --->public TabHost.TabSpec setContent(int viewId) 此方法需要一個 viewId 作為參數(shù)
		tabHost.addTab(tabHost
				.newTabSpec("tab2")
				.setIndicator("TAB2",
						getResources().getDrawable(R.drawable.ic_launcher))
				.setContent(R.id.textview2));

		tabHost.addTab(tabHost
				.newTabSpec("tab3")
				.setIndicator("TAB3",
						getResources().getDrawable(R.drawable.ic_launcher))
				.setContent(R.id.textview3));
	}
}

 3、運行程序:如下!

    hosts修復軟件
    (60)hosts修復軟件
    文件是計算機中一個舉足輕重的文件,該文件有一個比較大的特點就是沒有擴展名。經(jīng)常在一些電腦個性技巧以及其他領域方面會用到,西西提供文件修復工具軟件下載大全。官方介紹是一個沒有擴展名的系統(tǒng)文件,可以用記事本等工具打開,其作用就是將一些常用的網(wǎng)址域名與其對應的地址建立一個關聯(lián)數(shù)據(jù)庫,當用戶在瀏覽器中輸入一個需要登錄的網(wǎng)址時,系統(tǒng)會首先自動從文件中尋找對應的地址,一旦找到系統(tǒng)會立即打開對應網(wǎng)頁,如果沒有找...更多>>

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(2)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)