ViewPager与Fragment联动实现界面切换‘’
来源:互联网 发布:易语言取网页框架源码 编辑:程序博客网 时间:2024/06/06 14:07
//(底部按钮以radiogroup为例)实现思路:一,布局:上边为ViewPager,下边为radiogroup (根据需求设置若干RadioButton,隐藏圆点,可以设置selector用于点击区分)
<?xml version="1.0" encoding="utf-8"?><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"> <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/re_group"> </android.support.v4.view.ViewPager> <RadioGroup android:id="@+id/re_group" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="20dp" android:orientation="horizontal"> <RadioButton android:checked="true" android:background="@drawable/colors" android:button="@null" android:id="@+id/xw_bt" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="新闻"/> <RadioButton android:background="@drawable/colors" android:button="@null" android:id="@+id/js_bt" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="军事"/> <RadioButton android:background="@drawable/colors" android:button="@null" android:id="@+id/yx_bt" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="游戏"/> <RadioButton android:background="@drawable/colors" android:button="@null" android:id="@+id/yl_bt" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="娱乐"/> </RadioGroup></RelativeLayout>//selector选择器设置(点击背景颜色转换)<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@color/yes"/> <item android:state_checked="false" android:drawable="@color/no"/></selector>
//二,创建Fragment,对应替换需要的布局(举一例)
//1,fragment布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="军事栏目"/></LinearLayout>//2,fragment类替换布局public class Fragment_junshi extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.junshi_fragment_layout,container,false); return view; }
//三, 3大步骤:1初始化控件,2创建集合添加数据,3设置适配器public class MainActivity extends FragmentActivity { private RadioGroup re_group; ViewPagerAdapter adapter; private ViewPager view_pager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); //找到控件 view_pager = (ViewPager) findViewById(R.id.view_pager); re_group = (RadioGroup) findViewById(R.id.re_group); //数据 List<Fragment> list = new ArrayList<>(); list.add(new Fragment_xinwen()); list.add(new Fragment_junshi()); list.add(new Fragment_youxi()); list.add(new Fragment_yule()); //设置适配器 adapter = new ViewPagerAdapter(getSupportFragmentManager(),list); view_pager.setAdapter(adapter); //滑动监听 view_pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { //滑动对应选中按钮 re_group.check(re_group.getChildAt(position).getId()); } @Override public void onPageScrollStateChanged(int state) { } }); //点击监听 re_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { //点击按钮对应选中相应的轮播图 switch (i) { case R.id.xw_bt: view_pager.setCurrentItem(0, false);//可以实现不滑动的效果 break; case R.id.js_bt: view_pager.setCurrentItem(1, false);//可以实现不滑动的效果 break; case R.id.yx_bt: view_pager.setCurrentItem(2, false);//可以实现不滑动的效果 break; case R.id.yl_bt: view_pager.setCurrentItem(3, false);//可以实现不滑动的效果 break; default: break; } } }); }}
阅读全文
0 0
- ViewPager与Fragment联动实现界面切换‘’
- ViewPager+Fragment+RadioGroup实现页面联动\点击切换
- ViewPager+Fragment滑动切换界面
- ViewPager实现Fragment切换
- TabLayout,ViewPager,Fragment实现联动
- TabLayout,ViewPager,Fragment,实现联动
- [周四]viewpager fragment实现界面的滑动切换
- 仿QQ界面切换简单实现-ViewPager、Fragment
- Fragment+ViewPager实现仿微信点击和滑动切换界面
- fragment中添加ViewPager实现界面切换,动态添加radiobutton
- Android Studio使用ViewPager+Fragment实现仿微信滑动切换界面
- Android 安卓 fragment+viewpager 仿qq界面 实现点击菜单切换界面+滑动切换viewpager切换界面
- Android之TabLayout+ViewPager+Fragment实现标题栏与页面联动
- 【ViewPager+Fragment】ViewPager中切换界面Fragment被销毁
- ViewPager+Fragment ViewPager中切换界面Fragment 初始化问题解决方案
- 兔子--Fragment与ViewPager实现切换与侧滑效果
- ViewPager+Fragment实现页面切换
- Viewpager+Fragment实现页面切换
- 如何把多张图片合在一张图片里面显示?这里来个python + opencv的版本
- ubuntu下vnc安装配置
- 前端插件与框架的链接
- Python笔记--变量和对象
- Redhat Linux 6.5 单机安装配置zookeeper和kafka
- ViewPager与Fragment联动实现界面切换‘’
- HGDB新版本开始兼容oracle varchar2类型,作用pg里的varchar类型支持一致
- Contradiction Detection with Contradiction-Specific Word Embedding
- mysql中replace函数不支持正则
- nginx解析php时报”File not found“问题解决
- ztree使用
- 8分钟写出代码的华为面试题?不要被标题迷惑!
- Git fetch/pull 从远程的分支获取最新的版本到本地
- Mac 端口常用操作