=.=

//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. jquery1.8.3和1.11.3的用法区别

    学习js啦dom的对象 发现好复杂 不够简洁 所以我就用法强大的jquery来做功课 突然就遇到attr的方法对复选属性的checked取不了值 给我返回undefined 我查好久都没查出问题 结果 ...

  2. php错误记录

    1.模板不存在ThinkPHP\Library\Think\View.class.php LINE: 110 是因为IndexController的Index函数,而View中没有对应的Index文件 ...

  3. 图片特效-仿 iPhone 图片查看器效果

    —————————————————————— <script type="text/javascript">                    var arr = ...

  4. OpenCV——运用于pixels war游戏

    // The "Square Detector" program. // It loads several images sequentially and tries to fin ...

  5. 决策树J48算法

    1.J48原理 基于从上到下的策略,递归的分治策略,选择某个属性放置在根节点,为每个可能的属性值产生一个分支,将实例分成多个子集,每个子集对应一个根节点的分支,然后在每个分支上递归地重复这个过程.当所 ...

  6. 数论+dp Codeforces Beta Round #2 B

    http://codeforces.com/contest/2/problem/B 题目大意:给你一个n*n的矩形,问从(1,1)出发到(n,n),把图中经过的所有的数字都乘在一起,最后这个数字有多少 ...

  7. TextUtils

    /** * 计算关键字在文本中出现的次数 * @param text * @param key * @return */ public static int count(String text, St ...

  8. C#中partial关键字

    1. 什么是局部类型? C# 2.0 引入了局部类型的概念.局部类型允许我们将一个类.结构或接口分成几个部分,分别实现在几个不同的.cs文件中. 局部类型适用于以下情况: (1) 类型特别大,不宜放在 ...

  9. cannot create windows service for mysql

    这安装完mysql启动的时候总是弹出不能启动错误,解决办法: 先卸载掉MySQL干净:把关于MySQL所有目录及文件都删除掉,还有把注册表删除干净.在注册表找到以下项目并删除:HKEY_LOCAL_M ...

  10. WPF Template模版之寻找失落的控件【三】

    “井水不犯河水”常用来形容两个组织之间界限分明.互不相干,LogicTree与控件内部这颗小树之间就保持着这种关系.换句话说,如果UI元素树上有个X:Name=“TextBox1”的控件,某个控件内部 ...