本文实例为大家分享了Android仿新浪微博分页管理界面的具体代码,供大家参考,具体内容如下
多个activity分页管理,为了方便获取上下文,采用继承TabActivity的传统方法。
大致思路:使用RadioGroup点击触发不同的选卡项,选卡项绑定不同的activiity,进而进行分页管理。详解见注解。
public class MainActivity extends TabActivity {
//定义TabHost对象
private TabHost tabHost;
//定义RadioGroup对象
private RadioGroup radioGroup;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_layout);
initView();
initData();
}
private void initView() {
//实例化TabHost,得到TabHost对象
tabHost = getTabHost();
//得到Activity的个数
int count = Constant.ConValue.mTabClassArray.length;
for (int i = 0; i < count; i++) {
//为每一个Tab按钮设置图标、文字和内容
TabSpec tabSpec = tabHost.newTabSpec(Constant.ConValue.mTextviewArray[i])
.setIndicator(Constant.ConValue.mTextviewArray[i]).setContent(getTabItemIntent(i));
//将Tab按钮添加进Tab选项卡中
tabHost.addTab(tabSpec);
}
//实例化RadioGroup
radioGroup = (RadioGroup) findViewById(R.id.main_radiogroup);
}
private void initData() {
// 给radioGroup设置监听事件
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.RadioButton0:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[0]);
break;
case R.id.RadioButton1:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[1]);
break;
case R.id.RadioButton2:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[2]);
break;
case R.id.RadioButton3:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[3]);
break;
case R.id.RadioButton4:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[4]);
break;
}
}
});
((RadioButton) radioGroup.getChildAt(0)).toggle();
}
private Intent getTabItemIntent(int index) {
Intent intent = new Intent(this, Constant.ConValue.mTabClassArray[index]);
return intent;
}
}
MainActivity布局文件tab_layout.xml. TabHost布局,添加一个TabWidget用于显示activity,下面是一个RadioGroup显示切换activity的按钮菜单。
<?xml version="1.0" encoding="utf-8"?>
<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">
<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"
android:visibility="gone"/>
<RadioGroup
android:id="@+id/main_radiogroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@drawable/tab_widget_background"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="2dip">
<RadioButton
android:id="@+id/RadioButton0"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_home"
android:text="主页"
android:textColor="#ffffff"/>
<RadioButton
android:id="@+id/RadioButton1"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_msg"
android:text="评论"
android:textColor="#ffffff"/>
<RadioButton
android:id="@+id/RadioButton2"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_write"
android:text="发微博"
android:textColor="#ffffff"/>
<RadioButton
android:id="@+id/RadioButton3"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_me"
android:text="用户信息"
android:textColor="#ffffff"/>
<RadioButton
android:id="@+id/RadioButton4"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_more"
android:text="更多"
android:textColor="#ffffff"/>
</RadioGroup>
</LinearLayout>
</TabHost>
效果图:
您可能感兴趣的文章:Android仿新浪微博发布微博界面设计(5)Android仿新浪微博自定义ListView下拉刷新(4)Android仿新浪微博oauth2.0授权界面实现代码(2)Android仿新浪微博启动界面或登陆界面(1)Android用PopupWindow实现新浪微博的分组信息实例Android仿新浪微博、QQ空间等帖子显示(2)Android仿新浪微博、QQ空间等帖子显示(1)Android仿新浪微博/QQ空间滑动自动播放视频功能Android集成新浪微博第三方登录的方法Android仿新浪微博个人信息界面及其他效果