仿照官网微博,设立5个窗口,这就需要TabActivity。动态建立TabActivity的步骤如下:
1 建立所需的Activity
跟官方的一样,也建5个,里面的先空着,别忘了最后要在配置文件中加上,并把启动的Activity改成下边的TabActivity
2 在res/layout中新建xml文件
android:layout_width="fill_parent" android:layout_height="fill_parent">
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_weight="1.0" />
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:layout_gravity="bottom">
要注意各个ID,都是固定的,TabHost ,TabWidget ,FrameLayout的ID必须分别为@android:id/tabhost,@android:id/tabs,@android:id/tabcontent
3 建立一个从TabActivity继承来的类
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
public class MainActivity extends TabActivity {
private static final String WEIBO_HOME = "首页";
private static final String WEIBO_INFO = "信息";
private static final String WEIBO_USER = "我的资料";
private static final String WEIBO_PUBLIC = "广场";
private static final String WEIBO_MORE = "更多";
private TabHost tabhost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maintab);
tabhost = this.getTabHost();
TabHost.TabSpec tspec;
Intent it;
//加上首页的Activity
it = new Intent(MainActivity.this,HomeTimeLineActivity.class);
tspec = tabhost.newTabSpec(WEIBO_HOME).setIndicator(WEIBO_HOME).setContent(it);
tabhost.addTab(tspec);
//加上信息页
it = new Intent(MainActivity.this,infoactivity.class);
tspec = tabhost.newTabSpec(WEIBO_INFO).setIndicator(WEIBO_INFO).setContent(it);
tabhost.addTab(tspec);
//加上我的资料
it = new Intent(MainActivity.this,useractivity.class);
tspec = tabhost.newTabSpec(WEIBO_USER).setIndicator(WEIBO_USER).setContent(it);
tabhost.addTab(tspec);
//加上广场
it = new Intent(MainActivity.this,publicweiboactivity.class);
tspec = tabhost.newTabSpec(WEIBO_PUBLIC).setIndicator(WEIBO_PUBLIC).setContent(it);
tabhost.addTab(tspec);
//加上更多
it = new Intent(MainActivity.this,moreweiboactivity.class);
tspec = tabhost.newTabSpec(WEIBO_MORE).setIndicator(WEIBO_MORE).setContent(it);
tabhost.addTab(tspec);
//设置当前的Activity
tabhost.setCurrentTab(0);
}
}
看看效果
丑是丑了点,但基本效果是有的,谁让咱美工不行呢