Android知识点五:底部菜单效果(方式2)
2014-03-09 23:34
387 查看
首先是activity_mian.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="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0" >
</FrameLayout>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<RadioGroup
android:id="@+id/main_tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@drawable/bg_menu"
android:gravity="center_vertical"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/rg_home"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/main_home_background_selector"
android:button="@null"
android:checked="true"
android:drawableTop="@drawable/bg_ico_home_selector"
android:gravity="center_horizontal"
android:paddingTop="8dip"
android:tag="0"
android:text="@string/rg_btn_home"
android:textColor="@color/guid_textcolor_selector"
android:textSize="10sp" />
<RadioButton
android:id="@+id/rg_chat"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/main_home_background_selector"
android:button="@null"
android:drawableTop="@drawable/bg_ico_chat_selector"
android:gravity="center_horizontal"
android:paddingTop="8dip"
android:tag="1"
android:text="@string/rg_btn_chat"
android:textColor="@color/guid_textcolor_selector"
android:textSize="10sp" />
<RadioButton
android:id="@+id/rg_shopping"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/main_home_background_selector"
android:button="@null"
android:drawableTop="@drawable/bg_ico_shopping_selector"
android:gravity="center_horizontal"
android:paddingTop="8dip"
android:tag="2"
android:text="@string/rg_btn_shopping"
android:textColor="@color/guid_textcolor_selector"
android:textSize="10sp" />
<RadioButton
android:id="@+id/rg_user"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/main_home_background_selector"
android:button="@null"
android:drawableTop="@drawable/bg_ico_user_selector"
android:gravity="center_horizontal"
android:paddingTop="8dip"
android:tag="3"
android:text="@string/rg_btn_user"
android:textColor="@color/guid_textcolor_selector"
android:textSize="10sp" />
</RadioGroup>
</LinearLayout>
</TabHost>
MainActivity.java代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initListener();
}
void initView() {
// 实例化TabHost
tabhost = this.getTabHost();
tabhost.addTab(tabhost.newTabSpec("ONE").setIndicator("ONE")
.setContent(new Intent(this, HomeActivity.class)));
tabhost.addTab(tabhost.newTabSpec("TWO").setIndicator("TWO")
.setContent(new Intent(this, FormLogin.class)));
tabhost.addTab(tabhost.newTabSpec("THREE").setIndicator("THREE")
.setContent(new Intent(this, ShoppingCarActivity.class)));
tabhost.addTab(tabhost.newTabSpec("FOUR").setIndicator("FOUR")
.setContent(new Intent(this, IndividualCenterActivity.class)));
mRadioGroup = (RadioGroup) findViewById(R.id.main_tab);
}
void initListener() {
for (int i = 0; i < mRadioGroup.getChildCount(); i++) {
final View v = mRadioGroup.getChildAt(i);
if (v instanceof RadioButton) {
((RadioButton) v)
.setOnCheckedChangeListener(new RadioButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(
CompoundButton buttonView, boolean isChecked) {
int page = Integer.parseInt(buttonView.getTag()
.toString());
if (isChecked) {
switch (page) {
case 0:// 首页
tabhost.setCurrentTabByTag("ONE");
break;
case 1:// 聊吧
tabhost.setCurrentTabByTag("TWO");
break;
case 2:// 购物车
tabhost.setCurrentTabByTag("THREE");
break;
case 3:// 个人中心
tabhost.setCurrentTabByTag("FOUR");
break;
default:
break;
}
}
}
public void onCheckedChanged(RadioGroup group,
int checkedId) {
// TODO Auto-generated method stub
}
});
}
}
}
<?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="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0" >
</FrameLayout>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<RadioGroup
android:id="@+id/main_tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@drawable/bg_menu"
android:gravity="center_vertical"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/rg_home"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/main_home_background_selector"
android:button="@null"
android:checked="true"
android:drawableTop="@drawable/bg_ico_home_selector"
android:gravity="center_horizontal"
android:paddingTop="8dip"
android:tag="0"
android:text="@string/rg_btn_home"
android:textColor="@color/guid_textcolor_selector"
android:textSize="10sp" />
<RadioButton
android:id="@+id/rg_chat"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/main_home_background_selector"
android:button="@null"
android:drawableTop="@drawable/bg_ico_chat_selector"
android:gravity="center_horizontal"
android:paddingTop="8dip"
android:tag="1"
android:text="@string/rg_btn_chat"
android:textColor="@color/guid_textcolor_selector"
android:textSize="10sp" />
<RadioButton
android:id="@+id/rg_shopping"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/main_home_background_selector"
android:button="@null"
android:drawableTop="@drawable/bg_ico_shopping_selector"
android:gravity="center_horizontal"
android:paddingTop="8dip"
android:tag="2"
android:text="@string/rg_btn_shopping"
android:textColor="@color/guid_textcolor_selector"
android:textSize="10sp" />
<RadioButton
android:id="@+id/rg_user"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/main_home_background_selector"
android:button="@null"
android:drawableTop="@drawable/bg_ico_user_selector"
android:gravity="center_horizontal"
android:paddingTop="8dip"
android:tag="3"
android:text="@string/rg_btn_user"
android:textColor="@color/guid_textcolor_selector"
android:textSize="10sp" />
</RadioGroup>
</LinearLayout>
</TabHost>
MainActivity.java代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initListener();
}
void initView() {
// 实例化TabHost
tabhost = this.getTabHost();
tabhost.addTab(tabhost.newTabSpec("ONE").setIndicator("ONE")
.setContent(new Intent(this, HomeActivity.class)));
tabhost.addTab(tabhost.newTabSpec("TWO").setIndicator("TWO")
.setContent(new Intent(this, FormLogin.class)));
tabhost.addTab(tabhost.newTabSpec("THREE").setIndicator("THREE")
.setContent(new Intent(this, ShoppingCarActivity.class)));
tabhost.addTab(tabhost.newTabSpec("FOUR").setIndicator("FOUR")
.setContent(new Intent(this, IndividualCenterActivity.class)));
mRadioGroup = (RadioGroup) findViewById(R.id.main_tab);
}
void initListener() {
for (int i = 0; i < mRadioGroup.getChildCount(); i++) {
final View v = mRadioGroup.getChildAt(i);
if (v instanceof RadioButton) {
((RadioButton) v)
.setOnCheckedChangeListener(new RadioButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(
CompoundButton buttonView, boolean isChecked) {
int page = Integer.parseInt(buttonView.getTag()
.toString());
if (isChecked) {
switch (page) {
case 0:// 首页
tabhost.setCurrentTabByTag("ONE");
break;
case 1:// 聊吧
tabhost.setCurrentTabByTag("TWO");
break;
case 2:// 购物车
tabhost.setCurrentTabByTag("THREE");
break;
case 3:// 个人中心
tabhost.setCurrentTabByTag("FOUR");
break;
default:
break;
}
}
}
public void onCheckedChanged(RadioGroup group,
int checkedId) {
// TODO Auto-generated method stub
}
});
}
}
}
相关文章推荐
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- 解決Linux下Android开发真机调试设备不被识别问题
- [Android]在代码里运行另一个程序的方法
- [软件咨询]WPS2012正式版已发布 金山Office移动版4.0发布
- Android笔记-Linux Kernel Ftrace (Function Trace)解析
- android USB如何修改VID具体实现
- Android增量升级的方法和原理详细介绍
- Android Mouse实现过程详细笔记
- 深入Android Browser配置管理的详解
- Android Mms之:深入理解对话列表管理
- Android APP与媒体存储服务的交互
- android 多线程技术应用
- Android之采用execSQL与rawQuery方法完成数据的添删改查操作详解
- Android数据类型之间相互转换系统介绍
- 通过Android trace文件分析死锁ANR实例过程
- Android实现左右滑动效果的方法详解
- Android 各国语言缩写及简称详细介绍
- Android 自动判断是电话,网址,EMAIL方法之Linkify的使用