radiogroup+viewpager+fragment联动
2018-02-25 19:21
225 查看
radiogroup+viewpager+fragment联动
效果图
图片变色选择器自己写
文字变色选择器自己写
mainactivity.xml
<android.support.v4.view.ViewPager android:id="@+id/main_vp" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="10" /> <RadioGroup android:id="@+id/main_rg" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"> <RadioButton android:id="@+id/main_shouye" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginLeft="5dp" android:layout_weight="1" android:button="@null" android:drawableTop="@drawable/shouye_selector" android:gravity="center" android:text="首页" android:textColor="@drawable/textcolor" /> <RadioButton android:id="@+id/main_fenlei" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginLeft="5dp" android:layout_weight="1" android:button="@null" android:drawableTop="@drawable/fenlei_selector" android:gravity="center" android:text="分类" android:textColor="@drawable/textcolor" /> <RadioButton android:id="@+id/main_car" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginLeft="5dp" android:layout_weight="1" android:button="@null" android:drawableTop="@drawable/car_selector" android:gravity="center" android:text="购物车" android:textColor="@drawable/textcolor" /> <RadioButton android:id="@+id/main_person" android:layout_width="0dp" android:layout_height="match_parent" android:layout_marginLeft="5dp" android:layout_weight="1" android:button="@null" android:drawableTop="@drawable/person_selector" android:gravity="center" android:text="个人" android:textColor="@drawable/textcolor" /> </RadioGroup>
MainActivity
package com.anshuangxin.anshuangxin20180225.view;import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import com.anshuangxin.anshuangxin20180225.R;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
public class MainActivity extends FragmentActivity {
@BindView(R.id.main_vp) ViewPager mainVp; @BindView(R.id.main_shouye) RadioButton mainShouye; @BindView(R.id.main_fenlei) RadioButton mainFenlei; @BindView(R.id.main_car) RadioButton mainCar; @BindView(R.id.main_person) RadioButton mainPerson; @BindView(R.id.main_rg) RadioGroup mainRg; private Unbinder bind; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bind = ButterKnife.bind(this); mainRg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.main_shouye: //点击第一个radiobutton,显示viewpager的第一页 a785 mainVp.setCurrentItem(0, false); break; case R.id.main_fenlei: //点击第二个radiobutton,显示viewpager的第二页 mainVp.setCurrentItem(1, false); break; case R.id.main_car: mainVp.setCurrentItem(2, false); break; case R.id.main_person: mainVp.setCurrentItem(3, false); break; } } }); mainVp.setAdapter(new FragmentPagerAdapter(this.getSupportFragmentManager()) { @Override public Fragment getItem(int position) { Fragment fragment = null; switch (position) { case 0: //当滑动到第一页时候,展示这个fragment fragment = new Fragment1(); break; case 1: //当滑动到第二页时候,展示这个fragment fragment = new Fragment2(); break; case 2: //当滑动到第二页时候,展示这个fragment fragment = new Fragment3(); break; case 3: //当滑动到第二页时候,展示这个fragment fragment = new Fragment4(); break; } return fragment; } @Override public int getCount() { //返回viewpager的数量 return 4; } }); //viewpager滑动监听 mainVp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { //radiogroup选中对应的radiobutton mainRg.check(mainRg.getChildAt(position).getId()); } @Override public void onPageScrollStateChanged(int state) { } }); } @OnClick({R.id.main_shouye, R.id.main_fenlei, R.id.main_car, R.id.main_person}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.main_shouye: mainShouye.setChecked(true); break; case R.id.main_fenlei: mainFenlei.setChecked(true); break; case R.id.main_car: mainCar.setChecked(true); break; case R.id.main_person: mainPerson.setChecked(true); break; } } @Override public void onDestroy() { super.onDestroy(); bind.unbind(); }
}
相关文章推荐
- 4.8 Android Fragment<v4>, ViewPager, RadioGroup的联动
- ViewPager,RadioGroup,FragmentManager 详解 <二> 主菜单 RadioGroup 和ViewPager 实现联动
- ViewPager+Fragment+RadioGroup实现页面联动\点击切换
- radiogroup+viewpager+fragment联动,
- 使用ViewPager+Fragment+RadioGroup实现类似微信主界面
- Viewpager和RadioGroup实现联动
- RadioGroup+ViewPager+Fragment
- Android菜鸟的成长笔记——RadioGroup + ViewPager 联动时,ViewPager滑动不流畅
- 使用RadioGroup+ViewPager+Fragment实现带滑动的页卡效果TabHost时遇到的问题
- 点击第一viewpager中的按钮,跳转到第二个radiogroup对应的fragment
- RadiogroupFragmentViewpager
- RadioGroup 和 ViewPager 联动
- android中的ViewPager+Fragment+RadioGroup导航样式的实现
- RadioGroup+ViewPager+Fragment的框架布局
- Fragment+ViewPager+RadioGroup实现的页面简单切换
- android首次安装时进入wizard否则主界面Viewpager+Fragment+RadioGroup
- Android ViewPager+RadioGroup+Fragment超高仿微信主界面
- ViewPager+RadioGroup实现标题栏切换,Fragment切换
- 使用ViewPager+RadioGroup+Fragment实现类似微信的底部导航