TabHost效果实现的另一种方式---------不继承TabActivity
2013-06-17 10:52
465 查看
直接继承Activity,不继承TabActivity,实现tabhost的效果
Show1
Show2
main.xml
package com.hsx.tab; import android.app.Activity; import android.app.LocalActivityManager; import android.content.Intent; import android.content.res.Resources; import android.os.Bundle; import android.widget.TabHost; import android.widget.TabHost.TabSpec; public class MyTabTestActivity extends Activity { LocalActivityManager mlam; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mlam = new LocalActivityManager(this, false); mlam.dispatchCreate(savedInstanceState); TabHost th = (TabHost) findViewById(R.id.tabhost); Resources res = getResources(); th.setup(mlam); Intent intent1 = new Intent().setClass(this, Show1.class); Intent intent2 = new Intent().setClass(this, Show2.class); TabSpec tabSpec1 = th.newTabSpec("show1").setIndicator("show1", res.getDrawable(R.drawable.tab_my_normal)).setContent(intent1); TabSpec tabSpec2 = th.newTabSpec("show2").setIndicator("show2", res.getDrawable(R.drawable.tab_rcm_normal)).setContent(intent2); th.addTab(tabSpec1); th.addTab(tabSpec2); } @Override protected void onResume() { super.onResume(); mlam.dispatchResume(); } @Override protected void onPause() { super.onPause(); mlam.dispatchPause(isFinishing()); } }
Show1
package com.hsx.tab; import android.app.Activity; import android.os.Bundle; public class Show1 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.show1); } }
Show2
package com.hsx.tab; import android.app.Activity; import android.os.Bundle; public class Show2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.show2); } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingTop="5dip" > <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" /> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.0" /> </LinearLayout> </TabHost>
相关文章推荐
- 继承的另一种实现方式- 通过复制属性实现继承
- jQuery仿手风琴效果另一种实现方式,非插件.原创
- 如何不继承TabActivity实现tabhost布局
- 线程:创建线程有两种方式,一种是继承Thread类,另一种是实现Runnable接口。代码如下:
- 不继承ActivityGroup、TabActivity 实现TabHost
- servlet三种实现方式之三通过继承HttpServlet开发servlet
- iOS中三种方式实现登录界面播放视频或gif效果
- JS继承的实现几种方式
- JavaScript实现继承的混合方式
- Android实现通用的ActivityGroup(效果类似Android微博客户端主界面),强烈建议不要再使用TabActivity
- javascript中实现继承的三种方式(一看就懂)
- JavaScript实现继承(六种方式)
- android tabHost布局之一 不继承TabActivity并以布局文件进行布局
- 实现JavaScript中继承的三种方式
- 【Android UI设计与开发】第14期:顶部标题栏(五)两种方式实现仿微信标题栏弹窗效果
- 另一种实现接口中方法 的方式
- 加载一个类时,其内部类是否同时被加载?引申出单例模式的另一种实现方式
- 三种方式实现自定义圆形页面加载中效果的进度条
- 构造函数+原型混合方式实现js的继承
- 基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解