RadioGroup 和 ViewPager 绑定 实现切换
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 绑定 实现切换的更多相关文章
- RadioGroup和ViewPager实现Tab
Activity的布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- Android ViewPager实现选项卡切换
ViewPager实现选项卡切换,效果图如下: 步骤一:这里使用兼容低版本的v4包进行布局,这里eclipse没有输入提示,所以要手动输入,文件名称“activity_main.xml” <Re ...
- 巧妙实现缺角radiogroup控制多个fragment切换和滑动
在android开发中,用一个radiogroup控制多个fragment切换是十分常见的需求.但是如果fragment是一个ListView,如何保证滑动的时候通过缺角可以看到下面的listview ...
- 自定义viewpager的界面切换动画
核心操作: 1.创建一个类实现 android.support.v4.view.ViewPager.PageTransformer 根据 position 实现判断哪个界面进行界面切换动画 publi ...
- ViewPager中Fragment切换过程不被销毁的方法
背景:最近在写一个音乐播放器,然后一个ViewPager里面加载了四个Fragment,但是在切换过程中发现,Fragment总是被销毁,在网上查了一下,发现有两种办法可以保证Fragment不被销毁 ...
- Android RadioGroup Fragment Viewpager FragmentPagerAdapter 去哪网Fragment嵌套
RadioGroup中的各个选择器 <selector xmlns:android="http://schemas.android.com/apk/res/android"& ...
- ViewPager实现页面切换
先贴效果图(每个开关Tab债券.尾随页变化.效果图蓝条添加的用户体验) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzIxMDYyMA==/fo ...
- Android编程心得-使用ActionBar+Fragment+ViewPager实现动态切换Menu效果
1.首先上效果图 2.本例实现的效果主要适用于当前页面有多个页签时.进行Fragment切换时,能够利用不同的Menu样式与当前Fragment中的内容进行配合,能够大大添加复用性,看到效果图后,以下 ...
- jQuery事件绑定与切换
一.事件绑定 1.标准方式 1. jquery标准的绑定方式 * jq对象.事件方法(回调函数): * 注:如果调用事件方法,不传递回调函数,则会触发浏览器默认行为. * 表单对象.submit(); ...
随机推荐
- C(C++)/ 数据结构 链表
内容概括: 一.链表简介及创建列表 二.添加节点 三.链表排序 代码编译平台: CentOS 6.4 64b 一.链表简介及创建列表: 传统数组缺点: 传统数组长度需要事先设定,不能改变,内存由系统自 ...
- leetcode--Majority Element
题目链接:https://leetcode.com/problems/majority-element/ 算法类型:分治法 题目分析:获取长度为n的数组中的众数(出现次数大于等于⌊ n/2 ⌋) 代码 ...
- spring ioc 源码解析
什么是ioc? 通俗的解释是:(spring)框架中,完成对象的创建和注入的容器. springIOC体系结构: spring IOC的创建是典型的工厂模式,这一系列的bean工厂如上所示. 其核心是 ...
- 10、代码块、构造代码块、静态代码块及main方法之间的关系
1.普通代码块: 在方法或语句中出现在{}之间的类容就称为普通代码块,简称代码块.普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”,即顺序执行. /*下面第一个类时合法的 ...
- SQL语句生成指定范围内随机数
1.生成随机实型数据 create procedure awf_RandDouble @min dec(14,2), @max dec(14,2), @result dec(14,2) output ...
- .net一般处理程序(httphandler)实现文件下载功能
Handler文件代码如下: public class MDMExporterWeb : IHttpHandler { public void ProcessRequest(HttpContext c ...
- 使用svn分支
使用svn分支 原文: https://my.oschina.net/cobish/blog/652984
- Idea+TestNg配置test-output输出
说明:testNG的工程我是使用eclipse创建的,直接导入到idea中,运行test时不会生产test-output,只能在idea的控制台中查看运行结果,然后到处报告,经过不懈的百度终于找到怎么 ...
- word20161219
Remote Installation Services / 远程安装服务 remote procedure call, RPC / 远程过程调用 remote storage / 远程存储 Remo ...
- xml编辑器
cstring转cha型方法在mfc中用过可行 int CstringToch(CString str, char *ch) { assert(ch); memset(ch, 0, sizeof(ch ...