Activity的布局文件

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical"
  6. android:gravity="center_horizontal">
  7. <RadioGroup
  8. android:id="@+id/mainmedia_group"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. android:gravity="center_vertical"
  12. android:orientation="horizontal">
  13.  
  14. <RadioButton
  15. android:id="@+id/media_local"
  16. android:checked="true"
  17. style="@style/main_tab_bottom"
  18. android:drawableTop="@drawable/media_local"
  19. android:text="@string/media_local"/>
  20. <RadioButton
  21. android:id="@+id/media_online"
  22. style="@style/main_tab_bottom"
  23. android:drawableTop="@drawable/media_online"
  24. android:text="@string/media_online"/>
  25. </RadioGroup>
  26.  
  27. <android.support.v4.view.ViewPager
  28. android:id="@+id/viewpager"
  29. android:layout_width="match_parent"
  30. android:layout_height="match_parent"
  31. android:background="@color/background"
  32. />
  33.  
  34. </LinearLayout>

RadioButton的样式

  1. <style name="main_tab_bottom">
  2. <item name="android:textColor">#ffffffff</item>
  3. <item name="android:textSize">12.0sp</item>
  4. <item name="android:ellipsize">marquee</item>
  5. <item name="android:gravity">center_horizontal</item>
  6. <item name="android:paddingTop">2.0dp</item>
  7. <item name="android:layout_width">fill_parent</item>
  8. <item name="android:layout_height">wrap_content</item>
  9. <item name="android:button">@null</item>
  10. <item name="android:singleLine">true</item>
  11. <item name="android:layout_weight">1</item>
  12. <item name="android:background">@drawable/selector_home_bg</item>
  13. </style>

设置ViewPager的Apterda

  1. mViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()){
  2. @Override
  3. public int getCount() {
  4. return 2;
  5. }
  6. @Override
  7. public Fragment getItem(int arg0) {
  8. Fragment fragment = null;
  9. switch (arg0) {
  10. case 1:
  11. fragment = new FragmentOnlineMedia();
  12. break;
  13. case 0:
  14. default:
  15. fragment = new FragmentLocalMedia();
  16. break;
  17. }
  18. return fragment;
  19. }
  20. });

给ViewPager加上页面切换监听

  1. mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
  2. @Override
  3. public void onPageSelected(int currItem) {
  4. // TODO Auto-generated method stub
  5. switch (currItem) {
  6. case 1:
  7. onlineMedia.setChecked(true);
  8. break;
  9. case 0:
  10. default:
  11. localMedia.setChecked(true);
  12. break;
  13. }
  14. }
  15.  
  16. @Override
  17. public void onPageScrolled(int arg0, float arg1, int arg2) {
  18. // TODO Auto-generated method stub
  19. }
  20. @Override
  21. public void onPageScrollStateChanged(int currItem) {
  22. // TODO Auto-generated method stub
  23. }
  24. });

给RadioGroup加上按钮改变监听

  1. @Override
  2. public void onCheckedChanged(RadioGroup group, int checkedId) {
  3. // TODO Auto-generated method stub
  4. switch (checkedId) {
  5. case R.id.media_online:
  6. mViewPager.setCurrentItem(1);
  7. break;
  8. case 0:
  9. default:
  10. mViewPager.setCurrentItem(0);
  11. break;
  12. }
  13. }

这样就可完整地实现使用RadioGroup和ViewPager做页面切换了

RadioGroup和ViewPager实现Tab的更多相关文章

  1. RadioGroup 和 ViewPager 绑定 实现切换

    package com.jereh.helloworld.activity.day12; import android.app.Activity; import android.os.Bundle; ...

  2. 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab

    之前我们对大体框架有了一定的认识,现在我们来做Fragment界面,其实这里面和这个框架的关系就不大了,但因为有些同学对于在SlidingMenu中切换fragment还是有问题,所以我就在本篇进行详 ...

  3. 使用ViewPager实现Tab

    一.效果演示及分析 我们直接看两幅图.如下:                   上两幅图实现的效果就是: (1)手指左右滑动时,中间的布局呈现不同的效果.而且下面的按钮也会做相应的改变. (2)我们 ...

  4. Android开源框架ViewPageIndicator和ViewPager实现Tab导航

    前言: 关于使用ViewPageIndicator和ViewPager实现Tab导航,在开发社区里已经有一堆的博客对其进行了介绍,假设我还在这里写怎样去实现.那简直就是老生常谈,毫无新奇感,并且.我也 ...

  5. ViewPager与Tab结合使用

    我们有时候需要 标题页卡与ViewPager结合使用,其实原理也很简单. 不过工程中要引入android-support-design.jar 首先是布局文件 <android.support. ...

  6. FragmentPagerAdapter+ViewPager实现Tab切换效果

    1.Activity  加载布局文件,获取Viewpager控件   给ViewPager填充适配器. import android.app.ActionBar; import android.app ...

  7. Android RadioGroup Fragment Viewpager FragmentPagerAdapter 去哪网Fragment嵌套

    RadioGroup中的各个选择器 <selector xmlns:android="http://schemas.android.com/apk/res/android"& ...

  8. 66、多种多样的App主界面Tab(1)------ ViewPager实现Tab

    <?xml version="1.0" encoding="utf-8"?> <!-- bottom.xml --> <Linea ...

  9. Android:Fragment+ViewPager实现Tab滑动

    public class FragAdapter extends FragmentPagerAdapter { private List<Fragment> fragments ; pub ...

随机推荐

  1. javascript字典数据结构常用功能实现

    必知必会啊. function Dictionary(){ var items = {}; this.has = function (key) { return key in items; }; th ...

  2. sdut 2411:Pixel density(第三届山东省省赛原题,字符串处理)

    Pixel density Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Pixels per inch (PPI) or pi ...

  3. UML中的关联关系

    UML中的关联关系其内在意思就是has a 如图:  相对于依赖关系,关联关系在代码中有所体现.上图中的关联关系在代码中体现为       其中water 中将Climate作为其中的属性. 当然,关 ...

  4. qmf

    vim命令 ——————————正文开始—————————— Vim是一款简单而强大的文本编辑器,它能以简单的方式完成复杂的操作. 学习 vim 首先了解它的几种模式: 下图提供了三种模式下的切换: ...

  5. Xamarin.iOS提供没有匹配的配置文件

    Xamarin.iOS提供没有匹配的配置文件 错误信息:No installed provisioning profiles match the installed ios code signing  ...

  6. html表单应用

    <!DOCTYPE html> <html> <head> <meta name="generator" content="HT ...

  7. Codeforces 86D Powerful array(莫队算法)

    和BZOJ2038差不多..复习一下. #include<cstdio> #include<cmath> #include<algorithm> using nam ...

  8. Unity3d中SendMessage 用法简单笔记

    Message相关有3条指令:SendMessage ("函数名",参数,SendMessageOptions) //GameObject自身的ScriptBroadcastMes ...

  9. hihoCoder 1160 攻城略地

    原图可能有多个连通分量,先DFS找出每个连通分量中最小节点,这些必然是要攻占的城市. 设 n 为节点数, m 为边数, cnt 为初始连通分量数,在剩下的边数不小于 m - (n - cnt) 的时候 ...

  10. BZOJ3046 : lagoon

    码农题,拆点BFS预处理出所有联通块的面积即可,注意分类讨论. #include<cstdio> #include<cmath> using namespace std; co ...