public class MainActivity extends TabActivity implements OnCheckedChangeListener {
private RadioGroup mainTab;
private TabHost tabhost;
private Intent iHome;//首页
private Intent iCart;//购物车
private Intent iOpt;//设置
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//无窗体显示
setContentView(R.layout.main);
initTabHost();
}
/**
* 初始化Tab数据
*/
private void initTabHost(){
mainTab=(RadioGroup)findViewById(R.id.main_tab);
mainTab.setOnCheckedChangeListener(this);
tabhost = getTabHost();
iHome = new Intent(this, HomeActivity.class);
tabhost.addTab(tabhost.newTabSpec("iHome")
.setIndicator(getResources().getString(R.string.main_home), getResources().getDrawable(R.drawable.icon_1_n))
.setContent(iHome));
iCart = new Intent(this, CartActivity.class);
tabhost.addTab(tabhost.newTabSpec("iCart")
.setIndicator(getResources().getString(R.string.main_xy), getResources().getDrawable(R.drawable.icon_2_n))
.setContent(iCart));
iOpt = new Intent(this, OptionActivity.class);
tabhost.addTab(tabhost.newTabSpec("iOpt")
.setIndicator(getResources().getString(R.string.main_opt), getResources().getDrawable(R.drawable.icon_3_n))
.setContent(iOpt));
}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId){//根据选择ID来显示相应的Tab
switch(checkedId){
case R.id.radio_button0:
this.tabhost.setCurrentTabByTag("iHome");
break;
case R.id.radio_button1:
this.tabhost.setCurrentTabByTag("iCart");
break;
case R.id.radio_button2:
this.tabhost.setCurrentTabByTag("iOpt");
break;
}
}
}
分享到:
相关推荐
在Android应用开发中,...总之,`RadioGroup`和`TabHost`是构建Android底部菜单栏的经典方法,它们结合了简单易用和功能强大,虽然现代开发中已有更先进的替代方案,但了解这种基础实现方式对开发者来说仍然很有价值。
本篇文章将深入探讨如何使用`RadioGroup`组件来实现这样的底部导航菜单栏。 `RadioGroup`是Android SDK提供的一种布局管理器,主要用于管理一组`RadioButton`控件。`RadioButton`通常用于在多个选项中选择一个,而`...
在Android应用中,TabHost和RadioGroup结合使用可以实现类似底部导航栏的效果。具体步骤如下: 1. 首先,在布局文件中设置一个TabHost,并在其中添加多个Tab(标签页)。 2. 每个Tab对应一个RadioGroup,每个...
然而,由于TabHost在较新的Android版本中逐渐被淘汰,项目可能使用了Fragment替换TabHost来实现底部菜单栏的切换效果,这种方式更加灵活且适配现代Android开发实践。 5. **Bottom Navigation Bar**: 底部菜单栏...
`TabHost`适合于较旧的应用或者需要独立活动的情况,而使用`RadioGroup`和`Fragment`更符合现代Android开发的最佳实践,且能更好地管理应用程序的生命周期。在实际开发中,可以根据项目需求选择合适的方法。
在这个示例中,`DrawerLayout_20151110_1743`可能是与`RadioGroup`和`FragmentTabHost`导航效果相关的资源文件,如布局文件或图片资源,但具体细节需要查看该文件的内容才能确定。在实际项目中,开发者可能还会结合`...
本文将深入探讨如何实现“Android开发登录及主页面底部菜单”这一主题,结合`RadioGroup`和`TabHost`等关键组件来创建高效且直观的用户交互。 首先,我们从登录界面开始。登录页面通常包括用户名和密码输入框,以及...
TabHost是Android提供的一种容器组件,它可以将多个Tab(标签)组合在一起,每个Tab对应一个单独的视图或活动(Activity)。RadioButton则是单选按钮,通常用于创建一组互斥的选择项,用户只能选择其中的一个。 **1...
本文将详细讲解如何使用`TabHost`来实现这一功能,并替换`TabWidget`以达到更美观的效果。 首先,`TabHost`是Android SDK提供的一种组件,用于构建具有多个选项卡的界面,每个选项卡可以展示不同的内容。在网易新闻...
另一种实现方式是不使用TabWidget,而是使用RadioGroup配合RadioButton,这样更灵活,可以自定义更多的交互和动画效果。 1. **布局设计**:在XML布局文件中,创建RadioGroup并添加RadioButton。 ```xml ...
RadioButton通常与RadioGroup配合使用,用户在多个选项间进行选择,每次只能选中一个,这种设计常见于切换不同的功能模块。 3. **Android实现导航菜单左右滑动效果**:这种效果是通过手势(左右滑动)来切换菜单项...
总的来说,实现一个Android版的新浪微博TabBar需要结合`TabHost`、`RadioButton`以及自定义布局和事件处理,从而创建出具有下拉菜单效果的多视图导航。通过熟练掌握这些知识点,开发者能够构建出更加丰富和交互性强...
5.2.10 使用单选框——RadioGroup 5.2.11 实例——请选择性别 5.2.12使用下拉列表框——Spinner 5.2.13实例——请选择工作年限 5.2.14实例——动态修改Spinner项 5.2.15 使用进度条——ProgressBar 5.2.16实例——...
在Android开发中,创建一个类似微信底部菜单栏的功能是常见的需求。这个菜单栏通常包含多个选项,用户可以通过点击或滑动来切换不同的功能模块。本文将详细介绍几种常用的实现方法,并提供相应的示例。 1. **...
在Android应用开发中,"新浪微博tab菜单"是一个常见的界面元素,用于展示多个功能模块并方便用户切换。...通过自定义`TabHost`和使用`RadioGroup`,开发者可以创建出符合自身需求且用户体验良好的tab菜单。
在Android开发中,TabHost是实现底部导航栏的经典组件,常与RadioGroup和PopupWindow结合使用,以创建功能丰富的交互式界面。本文将详细讲解如何使用这三个组件来构建一个动态、用户友好的应用。 首先,TabHost是...
5.2.10 使用单选框——RadioGroup 5.2.11 实例——请选择性别 5.2.12使用下拉列表框——Spinner 5.2.13实例——请选择工作年限 5.2.14实例——动态修改Spinner项 5.2.15 使用进度条——ProgressBar 5.2.16实例——...
Android 底部菜单的实现方式有多种,包括使用 TabHost+Fragment、RadioGroup+Fragment、FragmentTabHost+Fragment 等。每种方式都有其优缺,开发者需要根据实际情况选择合适的实现方式。 在 Android 中, ...
- RadioGroup和RadioButton组合使用实现单项选择。 - 类的层次关系:RadioGroup继承自ViewGroup,RadioButton继承自CompoundButton。 - 常用方法:RadioGroup管理一组RadioButton,RadioButton响应点击事件。 - ...