package com.jereh.helloworld.activity.day12;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import com.jereh.helloworld.R;
import com.jereh.helloworld.activity.adapter.GuidePagerAdapter;
import com.jereh.helloworld.activity.entity.NewsType;
import java.util.ArrayList;
import java.util.List;
public class Day12Test3Activity extends Activity {
private List<NewsType> list;
private RadioGroup radioGroup;
private ViewPager viewPager;
private int[] imgs = {
R.drawable.wangfei1,
R.drawable.wangfei2,
R.drawable.wangfei3,
R.drawable.wangfei4,
R.drawable.wangfei5,
R.drawable.wangfei6,
R.drawable.wangfei7};
private List<ImageView> list1 = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_day12_test3);
viewPager = (ViewPager)findViewById(R.id.viewPager);
for (int i : imgs) {
ImageView imageView = new ImageView(this);
imageView.setImageResource(i);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
list1.add(imageView);
}
viewPager.setAdapter(new GuidePagerAdapter(list1));
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
RadioButton radioButton = (RadioButton)radioGroup.getChildAt(position);
radioButton.setChecked(true);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
initNewsType();
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
viewPager.setCurrentItem(checkedId);
}
});
initNewsTypeUi();
}
private void initNewsTypeUi(){
LayoutInflater inflater = LayoutInflater.from(this);
radioGroup = (RadioGroup)findViewById(R.id.tabs);
for (int i = 0;i<list.size();i++) {
RadioButton radioButton =(RadioButton)
inflater.inflate(R.layout.news_type_radiobutton,null,false);
radioButton.setId(i);
radioButton.setText(list.get(i).getName());
if (i==0){
radioButton.setChecked(true);
}
radioGroup.addView(radioButton);
}
}
private void initNewsType(){
list = new ArrayList<>();
list.add(new NewsType(1,"推荐"));
list.add(new NewsType(2,"热点"));
list.add(new NewsType(3,"社会"));
list.add(new NewsType(4,"国际"));
list.add(new NewsType(5,"国内"));
list.add(new NewsType(6,"娱乐"));
list.add(new NewsType(7,"体育"));
list.add(new NewsType(8,"科技"));
list.add(new NewsType(9,"时尚"));
list.add(new NewsType(10,"生活"));
}
}

  

RadioGroup 和 ViewPager 绑定 实现切换的更多相关文章

  1. RadioGroup和ViewPager实现Tab

    Activity的布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...

  2. Android ViewPager实现选项卡切换

    ViewPager实现选项卡切换,效果图如下: 步骤一:这里使用兼容低版本的v4包进行布局,这里eclipse没有输入提示,所以要手动输入,文件名称“activity_main.xml” <Re ...

  3. 巧妙实现缺角radiogroup控制多个fragment切换和滑动

    在android开发中,用一个radiogroup控制多个fragment切换是十分常见的需求.但是如果fragment是一个ListView,如何保证滑动的时候通过缺角可以看到下面的listview ...

  4. 自定义viewpager的界面切换动画

    核心操作: 1.创建一个类实现 android.support.v4.view.ViewPager.PageTransformer 根据 position 实现判断哪个界面进行界面切换动画 publi ...

  5. ViewPager中Fragment切换过程不被销毁的方法

    背景:最近在写一个音乐播放器,然后一个ViewPager里面加载了四个Fragment,但是在切换过程中发现,Fragment总是被销毁,在网上查了一下,发现有两种办法可以保证Fragment不被销毁 ...

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

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

  7. ViewPager实现页面切换

    先贴效果图(每个开关Tab债券.尾随页变化.效果图蓝条添加的用户体验) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzIxMDYyMA==/fo ...

  8. Android编程心得-使用ActionBar+Fragment+ViewPager实现动态切换Menu效果

    1.首先上效果图 2.本例实现的效果主要适用于当前页面有多个页签时.进行Fragment切换时,能够利用不同的Menu样式与当前Fragment中的内容进行配合,能够大大添加复用性,看到效果图后,以下 ...

  9. jQuery事件绑定与切换

    一.事件绑定 1.标准方式 1. jquery标准的绑定方式 * jq对象.事件方法(回调函数): * 注:如果调用事件方法,不传递回调函数,则会触发浏览器默认行为. * 表单对象.submit(); ...

随机推荐

  1. 【10-25】intelliji ide 学习笔记

    快捷键 /** alter+enter 导包,异常处理等提示 psvm 快速main函数 sout 快速sysout语句 fi 快速for循环 ctrl+d 重复一行 Ctrl+X 删除行 Ctrl+ ...

  2. 再谈如何使用Taglist?

    以前使用个taglist, 但是只是查看, 没有熟练的去使用, 补充一下: 参考文章: http://blog.csdn.net/vaqeteart/article/details/4146618 用 ...

  3. 移动端页面调试神器-browser-sync

    最近公司赶一个项目,是mobile端,之前没怎么做过移动端的开发,这个项目算是个小尝试. 在做项目的过程中,用到了一个神器--browser-sync,在这里分享给大家. 1.静态页面调试 作为前端, ...

  4. Apache Torque入门学习

    Introduction Apache Torque is an object-relational mapper for java. In other words, Torque lets you ...

  5. shell test用法

    1)判断表达式 if test  (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2                  两个表达式都为真 test 表达式1 –o 表达式 ...

  6. ctypes 调用 dll

    1. 加载 Windows API 和 C 运行库 先看例子 from ctypes import * u32 = windll.LoadLibrary('user32.dll') #加载user32 ...

  7. js 中histroy.back()与history.go()的区别

    样例: js6.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...

  8. 全排列算法的JS实现

    问题描述:给定一个字符串,输出该字符串所有排列的可能.如输入“abc”,输出“abc,acb,bca,bac,cab,cba”. 虽然原理很简单,然而我还是折腾了好一会才实现这个算法……这里主要记录的 ...

  9. ubuntu-docker-etcd-swarm-shipyard-portainer

    --- env --- root@node1:~# cat /etc/issueUbuntu 12.04.4 LTS \n \l root@node1:~# docker -vDocker versi ...

  10. swift项目导入OC框架

    手动导入框架步骤: 1.将框架拖入项目 2.新建桥接文件 3.build setting->bridge  添加桥接文件路径,相对项目而言