当前位置: 移动技术网 > 移动技术>移动开发>Android > Android仿新浪微博分页管理界面(3)

Android仿新浪微博分页管理界面(3)

2019年07月24日  | 移动技术网移动技术  | 我要评论
本文实例为大家分享了android仿新浪微博分页管理界面的具体代码,供大家参考,具体内容如下 多个activity分页管理,为了方便获取上下文,采用继承tabactivi

本文实例为大家分享了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>

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网