RadioGroup和ViewPager实现Tab
Activity的布局文件
<LinearLayout 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:orientation="vertical"
android:gravity="center_horizontal">
<RadioGroup
android:id="@+id/mainmedia_group"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<RadioButton
android:id="@+id/media_local"
android:checked="true"
style="@style/main_tab_bottom"
android:drawableTop="@drawable/media_local"
android:text="@string/media_local"/>
<RadioButton
android:id="@+id/media_online"
style="@style/main_tab_bottom"
android:drawableTop="@drawable/media_online"
android:text="@string/media_online"/>
</RadioGroup>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
/>
</LinearLayout>
RadioButton的样式
<style name="main_tab_bottom">
<item name="android:textColor">#ffffffff</item>
<item name="android:textSize">12.0sp</item>
<item name="android:ellipsize">marquee</item>
<item name="android:gravity">center_horizontal</item>
<item name="android:paddingTop">2.0dp</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:button">@null</item>
<item name="android:singleLine">true</item>
<item name="android:layout_weight">1</item>
<item name="android:background">@drawable/selector_home_bg</item>
</style>
设置ViewPager的Apterda
mViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()){
@Override
public int getCount() {
return 2;
}
@Override
public Fragment getItem(int arg0) {
Fragment fragment = null;
switch (arg0) {
case 1:
fragment = new FragmentOnlineMedia();
break;
case 0:
default:
fragment = new FragmentLocalMedia();
break;
}
return fragment;
}
});
给ViewPager加上页面切换监听
mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int currItem) {
// TODO Auto-generated method stub
switch (currItem) {
case 1:
onlineMedia.setChecked(true);
break;
case 0:
default:
localMedia.setChecked(true);
break;
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int currItem) {
// TODO Auto-generated method stub
}
});
给RadioGroup加上按钮改变监听
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
switch (checkedId) {
case R.id.media_online:
mViewPager.setCurrentItem(1);
break;
case 0:
default:
mViewPager.setCurrentItem(0);
break;
}
}
这样就可完整地实现使用RadioGroup和ViewPager做页面切换了
RadioGroup和ViewPager实现Tab的更多相关文章
- RadioGroup 和 ViewPager 绑定 实现切换
package com.jereh.helloworld.activity.day12; import android.app.Activity; import android.os.Bundle; ...
- 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab
之前我们对大体框架有了一定的认识,现在我们来做Fragment界面,其实这里面和这个框架的关系就不大了,但因为有些同学对于在SlidingMenu中切换fragment还是有问题,所以我就在本篇进行详 ...
- 使用ViewPager实现Tab
一.效果演示及分析 我们直接看两幅图.如下: 上两幅图实现的效果就是: (1)手指左右滑动时,中间的布局呈现不同的效果.而且下面的按钮也会做相应的改变. (2)我们 ...
- Android开源框架ViewPageIndicator和ViewPager实现Tab导航
前言: 关于使用ViewPageIndicator和ViewPager实现Tab导航,在开发社区里已经有一堆的博客对其进行了介绍,假设我还在这里写怎样去实现.那简直就是老生常谈,毫无新奇感,并且.我也 ...
- ViewPager与Tab结合使用
我们有时候需要 标题页卡与ViewPager结合使用,其实原理也很简单. 不过工程中要引入android-support-design.jar 首先是布局文件 <android.support. ...
- FragmentPagerAdapter+ViewPager实现Tab切换效果
1.Activity 加载布局文件,获取Viewpager控件 给ViewPager填充适配器. import android.app.ActionBar; import android.app ...
- Android RadioGroup Fragment Viewpager FragmentPagerAdapter 去哪网Fragment嵌套
RadioGroup中的各个选择器 <selector xmlns:android="http://schemas.android.com/apk/res/android"& ...
- 66、多种多样的App主界面Tab(1)------ ViewPager实现Tab
<?xml version="1.0" encoding="utf-8"?> <!-- bottom.xml --> <Linea ...
- Android:Fragment+ViewPager实现Tab滑动
public class FragAdapter extends FragmentPagerAdapter { private List<Fragment> fragments ; pub ...
随机推荐
- Android实现监测网络状态
本文主要用到了安卓监测网络状态变化功能,实现了WIFI,3G,无网络状态切换时发出通知的功能. 主要知识点 service broadcast 接口回调实现 service的基本知识 service可 ...
- 安卓向服务器发送List数据
第一步: 首先写一个自定义的JavaBean,以UserInfo.java为例,需要实现对象序列化的接口,因为之后输出流对象需要实现输出可序列化的对象.不这样的话,后续时发送时会报异常 package ...
- js 使用json.js处理json对象
使用参考代码: <script src="json/json2.js"></script> <script type="text/javas ...
- hdu 1106:排序(水题,字符串处理 + 排序)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
- THINKPHP 默认模板路径替换
APP_PATH // 当前项目目录APP_NAME // 当前项目名称 ACTION_NAME // 当前操作名称 CACHE_PATH // 项目模版缓存目录 CONFIG_PATH //项目配置 ...
- 基于superagent 与 cheerio 的node简单爬虫
最近重新玩起了node,便总结下基本的东西,在本文中通过node的superagent与cheerio来抓取分析网页的数据. 目的 superagent 抓取网页 cheerio 分析网页 准备 N ...
- Loadrunner模拟JSON接口请求进行测试
Loadrunner模拟JSON接口请求进行测试 一.loadrunner脚本创建 1.Insert - New step -选择Custom Request - web_custom_re ...
- pingpang ball
#pragma strict var smooth=2.0; var tiltAngle=30.0; function Start () { } function Update () { transf ...
- MONO 安装 分析
你是安装在/etc下的吧? 5.2是没有serverbusy的提示的,那时,它就傻等,给人造成down的假像.而现在的版本,会提示的. 你升级时,upgrade后边加参数了吗? 加了 /etc/jw ...
- Vijos 1061 迎春舞会之三人组舞(DP)
题目链接 经典DP问题,通过问题,看出结论,然后倒序,然后注意条件. #include <cstdio> #include <cstring> #include <ios ...