激情九九,六月婷婷七月丁香,天天五月天丁香婷婷深爱综合,国产色一区,国产一区二区三区免费在线观看,91最新网站

Android之ActivityGroup實現(xiàn)Tab分頁標簽

來源:網(wǎng)絡(luò)

點擊:1937

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: Android,ActivityGroup,Tab分頁

      很多客戶端軟件和瀏覽器軟件都喜歡用Tab分頁標簽來管理內(nèi)容,除了可以用TabHost控件,還可以用ImageButton + ActivityGroup實現(xiàn)Tab分頁標簽。使用ImageButton + ActivityGroup實現(xiàn)Tab分頁標簽,主要是把一個Sub Activity(子Activity)的Window作為View添加到ActivityGroup所指定的容器中,本文使用LinearLayout作為容器裝載Sub Activity。

      接下來貼出本例運行的效果圖:

    接下來貼出本例運行的效果圖

     

      以下是切換時Sub Activity的生存周期的狀態(tài)變化:

    切換時Sub Activity的生存周期的狀態(tài)變化

     

      從subActivity1切換到subActivity2的時候,會徹底釋放subActivity1的資源。

      主Activity的main.xml的源碼如下:

      view plaincopy to clipboardprint?

      《?xml version=“1.0” encoding=“utf-8”?》

      《LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

      android:orientation=“vertical” android:layout_width=“fill_parent”

      android:layout_height=“fill_parent”》

      《LinearLayout android:id=“@+id/LinearLayout01”

      android:layout_height=“wrap_content” android:layout_width=“fill_parent”》

      《ImageButton android:layout_width=“wrap_content”

      android:layout_height=“wrap_content” android:id=“@+id/ibtnTab1”

      android:background=“@drawable/png1298”》《/ImageButton》

      《ImageButton android:layout_width=“wrap_content”

      android:layout_height=“wrap_content” android:id=“@+id/ibtnTab2”

      android:background=“@drawable/png1292”》《/ImageButton》

      《/LinearLayout》

      《LinearLayout android:id=“@+id/LinearLayout02”

      android:layout_width=“fill_parent” android:layout_height=“fill_parent”》《/LinearLayout》

      《/LinearLayout》

      《?xml version=“1.0” encoding=“utf-8”?》

      《LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

      android:orientation=“vertical” android:layout_width=“fill_parent”

      android:layout_height=“fill_parent”》

      《LinearLayout android:id=“@+id/LinearLayout01”

      android:layout_height=“wrap_content” android:layout_width=“fill_parent”》

      《ImageButton android:layout_width=“wrap_content”

      android:layout_height=“wrap_content” android:id=“@+id/ibtnTab1”

      android:background=“@drawable/png1298”》《/ImageButton》

      《ImageButton android:layout_width=“wrap_content”

      android:layout_height=“wrap_content” android:id=“@+id/ibtnTab2”

      android:background=“@drawable/png1292”》《/ImageButton》

      《/LinearLayout》

      《LinearLayout android:id=“@+id/LinearLayout02”

      android:layout_width=“fill_parent” android:layout_height=“fill_parent”》《/LinearLayout》

      《/LinearLayout》

      Sub Activity的XML源碼(listview.xml)如下:

      view plaincopy to clipboardprint?

      《?xml version=“1.0” encoding=“utf-8”?》

      《LinearLayout android:id=“@+id/LinearLayout01”

      xmlns:android=“http://schemas.android.com/apk/res/android”

      android:layout_width=“fill_parent” android:layout_height=“fill_parent”》

      《ListView android:id=“@+id/MyListView” android:layout_width=“fill_parent”

      android:layout_height=“fill_parent”》

      《/ListView》

      《/LinearLayout》

      《?xml version=“1.0” encoding=“utf-8”?》

      《LinearLayout android:id=“@+id/LinearLayout01”

      xmlns:android=“http://schemas.android.com/apk/res/android”

      android:layout_width=“fill_parent” android:layout_height=“fill_parent”》

      《ListView android:id=“@+id/MyListView” android:layout_width=“fill_parent”

      android:layout_height=“fill_parent”》

      《/ListView》

      《/LinearLayout》

     

      testActivityGroup.java源碼如下:

      view plaincopy to clipboardprint?

      package com.testActivityGroup;

      import android.app.ActivityGroup;

      import android.content.Intent;

      import android.os.Bundle;

      import android.view.View;

      import android.view.Window;

      import android.widget.ImageButton;

      import android.widget.LinearLayout;

      import android.widget.ListView;

      public class testActivityGroup extends ActivityGroup {

      /** Called when the activity is first created. */

      LinearLayout container;//裝載sub Activity的容器

      ImageButton ibtnTab1,ibtnTab2;

      @Override

      public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.main);

      container = (LinearLayout) findViewById(R.id.LinearLayout02);

      ibtnTab1=(ImageButton)this.findViewById(R.id.ibtnTab1);

      ibtnTab1.setOnClickListener(new ClickEvent());

      ibtnTab2=(ImageButton)this.findViewById(R.id.ibtnTab2);

      ibtnTab2.setOnClickListener(new ClickEvent());

      }

      class ClickEvent implements View.OnClickListener{

      @Override

      public void onClick(View v) {

      container.removeAllViews();

      Intent intent=new Intent(testActivityGroup.this, subActivity.class);

      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

      String[] str=new String[12];

      if(v==ibtnTab1)

      {

      for(int i=0;i《str.length;i++)

      str[i]=“單選”+String.valueOf(i);

      intent.putExtra(“Name”, “subActivity1”);

      intent.putExtra(“Strings”, str);

      intent.putExtra(“ChoiceMode”, ListView.CHOICE_MODE_SINGLE);//通過參數(shù)設(shè)置列表式樣

      }

      else if(v==ibtnTab2)

      {

      for(int i=0;i《str.length;i++)

      str[i]=“復選”+String.valueOf(i);

      intent.putExtra(“Name”, “subActivity2”);

      intent.putExtra(“Strings”, str);

      intent.putExtra(“ChoiceMode”, ListView.CHOICE_MODE_MULTIPLE);//通過參數(shù)設(shè)置列表式樣

      }

      Window subActivity=getLocalActivityManager().startActivity(“subActivity”,intent);

      container.addView(subActivity.getDecorView());

      }

      }

      }

      package com.testActivityGroup;

      import android.app.ActivityGroup;

      import android.content.Intent;

      import android.os.Bundle;

      import android.view.View;

      import android.view.Window;

      import android.widget.ImageButton;

      import android.widget.LinearLayout;

      import android.widget.ListView;

      public class testActivityGroup extends ActivityGroup {

      /** Called when the activity is first created. */

      LinearLayout container;//裝載sub Activity的容器

      ImageButton ibtnTab1,ibtnTab2;

      @Override

      public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.main);

      container = (LinearLayout) findViewById(R.id.LinearLayout02);

      ibtnTab1=(ImageButton)this.findViewById(R.id.ibtnTab1);

      ibtnTab1.setOnClickListener(new ClickEvent());

      ibtnTab2=(ImageButton)this.findViewById(R.id.ibtnTab2);

      ibtnTab2.setOnClickListener(new ClickEvent());

      }

      class ClickEvent implements View.OnClickListener{

      @Override

      public void onClick(View v) {

      container.removeAllViews();

      Intent intent=new Intent(testActivityGroup.this, subActivity.class);

      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

      String[] str=new String[12];

      if(v==ibtnTab1)

      {

      for(int i=0;i《str.length;i++)

      str[i]=“單選”+String.valueOf(i);

      intent.putExtra(“Name”, “subActivity1”);

      intent.putExtra(“Strings”, str);

      intent.putExtra(“ChoiceMode”, ListView.CHOICE_MODE_SINGLE);//通過參數(shù)設(shè)置列表式樣

      }

      else if(v==ibtnTab2)

      {

      for(int i=0;i《str.length;i++)

      str[i]=“復選”+String.valueOf(i);

      intent.putExtra(“Name”, “subActivity2”);

      intent.putExtra(“Strings”, str);

      intent.putExtra(“ChoiceMode”, ListView.CHOICE_MODE_MULTIPLE);//通過參數(shù)設(shè)置列表式樣

      }

      Window subActivity=getLocalActivityManager().startActivity(“subActivity”,intent);

      container.addView(subActivity.getDecorView());

      }

      }

      }

     

      subActivity.java源碼如下:

      view plaincopy to clipboardprint?

      package com.testActivityGroup;

      import android.app.Activity;

      import android.os.Bundle;

      import android.util.Log;

      import android.widget.ArrayAdapter;

      import android.widget.ListView;

      public class subActivity extends Activity {

      String name;

      public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.listview);

      // 讀取列表內(nèi)容

      name = this.getIntent().getStringExtra(“Name”);

      String[] str = this.getIntent().getStringArrayExtra(“Strings”);

      int choiceMode = this.getIntent().getIntExtra(“ChoiceMode”,

      ListView.CHOICE_MODE_NONE);

      ListView listView = (ListView) findViewById(R.id.MyListView);

      // 設(shè)置列表的式樣

      int itemID = android.R.layout.simple_list_item_1;

      if (choiceMode == ListView.CHOICE_MODE_MULTIPLE)// 主Activity要求多選

      itemID = android.R.layout.simple_list_item_multiple_choice;

      else if (choiceMode == ListView.CHOICE_MODE_SINGLE)// 主Activity要求單選

      itemID = android.R.layout.simple_list_item_single_choice;

      ArrayAdapter《String》 arrayAdapter = new ArrayAdapter《String》(this,

      itemID, str);

      listView.setAdapter(arrayAdapter);

      listView.setChoiceMode(choiceMode);

      Log.e(name, “onCreate”);// 顯示當前狀態(tài),onCreate與onDestroy對應(yīng)

      }

      @Override

      public void onDestroy() {

      super.onDestroy();

      Log.e(name, “onDestroy”);// 顯示當前狀態(tài),onCreate與onDestroy對應(yīng)

      }

      @Override

      public void onStart() {

      super.onStart();

      Log.e(name, “onStart”);// 顯示當前狀態(tài),onStart與onStop對應(yīng)

      }

      @Override

      public void onStop() {

      super.onStop();

      Log.e(name, “onStop”);// 顯示當前狀態(tài),onStart與onStop對應(yīng)

      }

      @Override

      public void onRestart() {

      super.onRestart();

      Log.e(name, “onRestart”);

      }

      @Override

      public void onResume() {

      super.onResume();

      Log.e(name, “onResume”);// 顯示當前狀態(tài),onPause與onResume對應(yīng)

      }

      @Override

      public void onPause() {

      super.onResume();

      Log.e(name, “onPause”);// 顯示當前狀態(tài),onPause與onResume對應(yīng)

      }

      }

      

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。

    主站蜘蛛池模板: 日韩免费在线视频观看 | 免费一级毛片完整版在线看 | 福利一区二区三区视频在线观看 | 五月天婷婷视频 | 免费在线观看mv网址入口 | 婷婷综合丁香 | 九九精品视频在线 | 国产一级视频在线观看 | 亚洲国产精品成 | 国产伦视频 | 国产精品成人在线 | 米奇影院77777在线观看 | 色婷婷在线视频观看 | 国产精品欧美亚洲韩国日本不卡 | 国产精品1 | 精品国产精品久久一区免费式 | va欧美国产在线视频 | 高清国产精品久久 | 99福利网 | 国产精品亚洲综合网站 | 黄色成人短视频 | 国产精品日韩欧美亚洲另类 | 亚洲精品国产成人7777 | 午夜福利国产一级毛片 | 欧美日韩一区二区三区视频在线观看 | 精品亚洲性xxx久久久 | 深爱激情成人 | 欧美亚洲国产视频 | 国产精品精品国产一区二区 | 国产精品第一区在线观看 | 四虎在线精品观看免费 | 97视频福利 | www.四虎| 久久这里只有精品首页 | 欧美精品三区 | 五月婷婷色播 | 国产视频精品久久 | 国产一级理论片 | 免费两性的视频网站 | 人人爽人人爽人人片av免费 | 日韩欧美视频一区二区三区 |