您的位置:首页 > 移动开发 > Android开发

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

}
});
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android