Android仿新浪微博分页管理界面(3)
本文实例为大家分享了Android仿新浪微博分页管理界面的具体代码,供大家参考,具体内容如下
多个activity分页管理,为了方便获取上下文,采用继承TabActivity的传统方法。
大致思路:使用RadioGroup点击触发不同的选卡项,选卡项绑定不同的activiity,进而进行分页管理。详解见注解。
/** * 主Activity * 通过点击RadioGroup下的RadioButton来切换不同界面 * Created by D&LL on 2016/7/20. */ 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(); } /** * 给Tab选项卡设置内容(每个内容都是一个Activity) */ 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 将 android view 的位置设为右下角的解决方法
Android 将 android view 的位置设为右下角的解决方法,需要的朋友可以参考一下2013-05-05Rxjava+Retrofit+Okhttp进行网络访问及数据解析
这篇文章主要介绍了Rxjava+Retrofit+Okhttp进行网络访问及数据解析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下2022-08-08Android Broadcast 和 BroadcastReceiver的权限限制方式
这篇文章主要介绍了Android Broadcast 和 BroadcastReceiver的权限限制方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-03-03AndroidStudio3 支持 Java8 了请问你敢用吗
Google 发布了 AS 3.0,以及一系列的 Support 包,有意思的新东西挺多,AS3里面有一个亮眼的特性就是支持J8。接下来通过本文给大家分享AndroidStudio3 支持 Java8 的相关内容,感兴趣的朋友一起看看吧2017-11-11
最新评论