<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".controller.activity.main.MainActivityFragment"
tools:showIn="@layout/activity_main">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="60dp"
/>
<RadioGroup
android:id="@+id/main_radio"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingTop="2dp" >
<RadioButton
android:id="@+id/rb_mall_main"
style="@style/main_tab_bottom"
android:checked="true"
android:drawableTop="@drawable/mall_main_sel"
android:text="@string/mall_main_label" />
<RadioButton
android:id="@+id/rb_mall_navigation"
style="@style/main_tab_bottom"
android:drawableTop="@drawable/mall_recharge"
android:text="@string/mall_recharge_label" />
<RadioButton
android:id="@+id/rb_mall_marcket"
style="@style/main_tab_bottom"
android:drawableTop="@drawable/mall_special_sales"
android:text="@string/mall_category_label" />
<RadioButton
android:id="@+id/rb_mall_mine"
style="@style/main_tab_bottom"
android:drawableTop="@drawable/mall_home"
android:text="@string/mall_home_label" />
</RadioGroup>
</RelativeLayout>
<style name="main_tab_bottom">
<item name="android:textSize">@dimen/bottom_tab_font_size</item>
<item name="android:textColor">@color/mall_bottom_selector</item>
<item name="android:ellipsize">marquee</item>
<item name="android:gravity">center</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:layout_width">0dp</item>
<item name="android:layout_marginTop">2dp</item>
<item name="android:layout_marginBottom">2dp</item>
<item name="android:layout_height">fill_parent</item>
<!-- 去按钮立体效果 -->
<item name="android:button">@null</item>
<item name="android:singleLine">true</item>
<item name="android:layout_weight">1.0</item>
</style>
主要逻辑
viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
RadioButton radio_button = (RadioButton) main_radio.getChildAt(position);
radio_button.setChecked(true);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
main_radio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.rb_mall_main: viewpager.setCurrentItem(0);break;
case R.id.rb_mall_navigation: viewpager.setCurrentItem(1);break;
case R.id.rb_mall_marcket: viewpager.setCurrentItem(2);break;
case R.id.rb_mall_mine: viewpager.setCurrentItem(3);break;
}
}
});