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

 更新时间:2016年11月21日 11:01:27   作者:DeMon辉  
这篇文章主要为大家详细介绍了Android仿新浪微博分页管理界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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实现长按圆环动画View效果的思路代码

    Android实现长按圆环动画View效果的思路代码

    这篇文章主要介绍了Android实现长按圆环动画View效果,本文给大家分享实现思路,通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Android自定义渐变式炫酷ListView下拉刷新动画

    Android自定义渐变式炫酷ListView下拉刷新动画

    这篇文章主要为大家详细介绍了Android自定义渐变式炫酷ListView下拉刷新动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Android实现单行标签流式布局

    Android实现单行标签流式布局

    这篇文章主要为大家详细介绍了Android单行标签流式布局,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 浅析Android手机卫士读取联系人

    浅析Android手机卫士读取联系人

    这篇文章主要介绍了浅析Android手机卫士读取联系人的相关内容,通过getContentResolver()方法获取获取ContentResolver内容解析器对象,对android手机卫士读取联系人相关知识感兴趣的朋友参考下吧
    2016-04-04
  • Android开发Kotlin DSL使用技巧掌握

    Android开发Kotlin DSL使用技巧掌握

    这篇文章主要为大家介绍了Android开发Kotlin DSL使用技巧的掌握,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • android之BroadcastReceiver应用详解

    android之BroadcastReceiver应用详解

    这篇文章主要介绍了android之BroadcastReceiver应用详解,BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。有兴趣的可以了解一下。
    2016-12-12
  • android中view手势滑动冲突的解决方法

    android中view手势滑动冲突的解决方法

    本篇文章主要介绍了android中view手势滑动冲突的解决方法,主要解决方法有两种,外部和内部拦截。有需要的可以参考下。
    2016-11-11
  • 分享Android中Toast的自定义使用

    分享Android中Toast的自定义使用

    Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。本文将介绍Toast的自定义使用,下面一起来看看吧。
    2016-08-08
  • Android AS创建自定义布局案例详解

    Android AS创建自定义布局案例详解

    这篇文章主要介绍了Android AS创建自定义布局案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • Android播放音乐案例分享

    Android播放音乐案例分享

    这篇文章主要为大家分享了Android播放音乐案例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09

最新评论