本文实例为大家分享了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" androID:drawabletop="@drawable/tab_home" androID:text="主页" androID:textcolor="#ffffff"/> <Radiobutton androID:ID="@+ID/Radiobutton1" androID:drawabletop="@drawable/tab_msg" androID:text="评论" androID:textcolor="#ffffff"/> <Radiobutton androID:ID="@+ID/Radiobutton2" androID:drawabletop="@drawable/tab_write" androID:text="发微博" androID:textcolor="#ffffff"/> <Radiobutton androID:ID="@+ID/Radiobutton3" androID:drawabletop="@drawable/tab_me" androID:text="用户信息" androID:textcolor="#ffffff"/> <Radiobutton androID:ID="@+ID/Radiobutton4" androID:drawabletop="@drawable/tab_more" androID:text="更多" androID:textcolor="#ffffff"/> </RadioGroup> </linearLayout></TabHost>
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的Android仿新浪微博分页管理界面(3)全部内容,希望文章能够帮你解决Android仿新浪微博分页管理界面(3)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)