=.=

//MainActivity

public class MainActivity extends TabActivity implements
OnCheckedChangeListener { private static long firstTime; private TabHost tabHost;
private RadioGroup radioderGroup; @Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) { if (firstTime + 2000 > System.currentTimeMillis()) {
super.onBackPressed();
} else {
ToastUtils.showShort(this, "再按一次退出程序");
}
firstTime = System.currentTimeMillis(); return false;
}
return super.dispatchKeyEvent(event);
} @Override
protected void onCreate(Bundle arg0) {
// TODO Auto-generated method stub
super.onCreate(arg0); setContentView(R.layout.activity_new_main); tabHost = this.getTabHost();
tabHost.addTab(tabHost.newTabSpec("首页").setIndicator("首页")
.setContent(new Intent(this, MainWebActivity.class)));
tabHost.addTab(tabHost.newTabSpec("消息").setIndicator("消息")
.setContent(new Intent(this, MessageActivity.class)));
tabHost.addTab(tabHost.newTabSpec("发现").setIndicator("发现")
.setContent(new Intent(this, FindWebActivity.class)));
// tabHost.addTab(tabHost.newTabSpec("个人").setIndicator("个人").setContent(new
// Intent(this, UserCenterWebActivity.class))); tabHost.addTab(tabHost.newTabSpec("个人").setIndicator("个人")
.setContent(new Intent(this, MyProfileActivity.class))); radioderGroup = (RadioGroup) findViewById(R.id.main_radio);
radioderGroup.setOnCheckedChangeListener(this);
radioderGroup.check(R.id.mainTabs_radio_home);// 默认第一个按钮 EventBus.getDefault().register(this);
} public void onEventMainThread(MainEvent event) { switch (event.what) {
case 3: PrefUtils.putString(this, "find_web_index", "2");
radioderGroup.check(R.id.mainTabs_radio_find); break;
case 4: PrefUtils.putString(this, "find_web_index", "3"); radioderGroup.check(R.id.mainTabs_radio_find);
break; default:
break;
} } @Override
protected void onDestroy() {
// TODO Auto-generated method stub
EventBus.getDefault().unregister(this);
super.onDestroy();
} /**
* 连续按两次返回键就退出
*/
@Override
public void onBackPressed() { } @Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.mainTabs_radio_home:
tabHost.setCurrentTabByTag("首页");
break;
case R.id.mainTabs_radio_message:
tabHost.setCurrentTabByTag("消息");
break;
case R.id.mainTabs_radio_find:
tabHost.setCurrentTabByTag("发现");
break;
case R.id.mainTabs_radio_personage:
tabHost.setCurrentTabByTag("个人");
break; }
} }

 

//xml

<?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="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
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" /> <include layout="@layout/include_divider" /> <RadioGroup
android:id="@+id/main_radio"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="3dp"
android:paddingTop="3dp" > <RadioButton
android:id="@+id/mainTabs_radio_home"
style="@style/mainTabs_radio"
android:drawableTop="@drawable/bg_below_home_selector"
android:text="首页" /> <RadioButton
android:id="@+id/mainTabs_radio_message"
style="@style/mainTabs_radio"
android:drawableTop="@drawable/bg_below_message_selector"
android:text="消息" /> <RadioButton
android:id="@+id/mainTabs_radio_find"
style="@style/mainTabs_radio"
android:drawableTop="@drawable/bg_below_find_selector"
android:text="发现" /> <RadioButton
android:id="@+id/mainTabs_radio_personage"
style="@style/mainTabs_radio"
android:drawableTop="@drawable/bg_below_personage_selector"
android:text="个人" />
</RadioGroup>
</LinearLayout> </TabHost>

  

RadioGroup+TabHost的更多相关文章

  1. Android新浪微博客户端(五)——主界面的TabHost和WeiboUtil

    原文出自:方杰|http://fangjie.info/?p=183转载请注明出处 最终效果演示:http://fangjie.info/?page_id=54 该项目代码已经放到github:htt ...

  2. Android应用主界面底部菜单实现

    介绍 现在绝大多数主流的应用主界面,都会包含一个底部菜单,就拿腾讯的QQ与微信来说,看起来是这样的  <---我是底部菜单 原理 在很久以前,可以通过TabActivity实现相关功能,自从Fr ...

  3. 一步一步实现视频播放器client(二)

    实现主体界面:                 222.png (64.46 KB, 下载次数: 0) 下载附件  保存到相冊 前天 21:02 上传 比較常见的一种布局.以下几个button.点击后 ...

  4. 底部菜单栏(二) TabHost & RadioGroup 实现

    需求:使用TabHost & RadioGroup实现底部菜单栏: 效果图: 实现分析: 1.目录结构: 代码实现: 1. activity_main.xml <?xml version ...

  5. TabHost+RadioGroup搭建基础布局

    xml的形势如下: <tabhost> <linearlayout vertival> <framlayout weight=1/> <tabwidget g ...

  6. android中TabHost和RadioGroup

    android底部菜单应用 博客分类: android--UI示例 TabHostMenuRadioGroupButton  在android中实现菜单功能有多种方法. Options Menu:用户 ...

  7. 安卓TabHost+ViewPager+RadioGroup多功能模板整理

    如今安卓比較流行的布局就是类似新闻client和手机QQ那种的底端可选择,上面的个别页面能够滑动选择. 在測试过程中发现用安卓自带的TabHost去构建.非常难得到自己定义的效果. 因此採用TabHo ...

  8. android的tabhost+RadioGroup+PopupWindow

    根据网上的代码稍作修改了下,放着记录学习. 效果图如下: 主代码如下: package com.andyidea.tabdemo; import android.app.TabActivity; im ...

  9. 安卓初級教程(5):TabHost的思考

    package com.myhost; import android.os.Bundle; import android.view.LayoutInflater; import android.wid ...

随机推荐

  1. 转:JMeter基础--逻辑控制器Logic Controller

    1.ForEach控制器 ForEach控制器在用户自定义变量中读取一系列相关的变量.该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值.所以ForEach总是和User Defin ...

  2. 【第二篇】学习 android 事件总线androidEventbus之异步事件的传递

    1,不同Activity直接发送Ansy的事件,以及其他任何事件,必须通过 postSticky方式来进行事件的传递,而不能通过post的形式来进行传递:EventBus.getDefault().p ...

  3. JVM调优总结-调优方法

    JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用.对垃圾回收算法有很详细的跟踪 JProfiler ...

  4. set集合容器

      set集合容器几条特点 1.它不会重复插入相同键值的元素,而采取忽略处理 2.使用中序遍历算法,检索效率高于vector.deque.list容器,在插入元素时,会自动将元素按键值从小到大排列 3 ...

  5. Spring Security教程

    原文地址:http://blog.csdn.net/jaune161/article/details/17640071 http://blog.csdn.net/jaune161/article/de ...

  6. PHP文件相关函数试题

    一.问答题 1.返回路径中的文件名部分的函数是什么? 2.改变文件模式的函数是什么? 3.拷贝文件的函数是什么? 4.返回路径中的目录部分的函数是什么? 5.将上传的文件移动到指定位置的函数是? 6. ...

  7. 模拟。。。 Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) C

    题目大意:给你一个n*m的矩阵,再给你一个小球,从(0,0)以sqrt(2)/s的速度向右上角出发,遇到边框会反弹,遇到角落就直接停止,给你一些点,问小球第一次经过这些点所需要的时间. 思路:模拟一下 ...

  8. SmtpDlg 调用SMTP

    // SmtpDlg.h : 头文件 // #pragma once #include "afxwin.h" #include "string" using n ...

  9. js连续赋值、指针

    jq的源码中有很多连续赋值,类似这样的: var a = {n:1}; var b = a; // 持有a,以回查 a.x = a = {n:2}; alert(a.x);// --> unde ...

  10. 1.1 selenium 安装

    1.在火狐浏览器的附加组件里搜索Selenium IDE