滑动实现多个布局的切换——ViewPager的使用
2013-01-03 21:36
573 查看
a) 导入android-support-v4.jar;
i. 这个jar包是1.6+才有的,可以通过更新通过SDK Manager更新最新版android compatibility package, revision 3
然后在eclipse中工程上点击右键,选择android tools -> add compatibility library即可完成安装
ii.上面做法是官方的做法,也可以直接下载这个包,然后再手工导入到工程
b) 创建一个布局文件,放ViewPager ,要用完整路径
创建多个切换的子页面布局
c) 继承ViewPagerAdapter 创建ViewPager的适配器类,复写其他的相关方法
d) 为ViewPager设置适配器
e) 为ViewPager设置监听器
i. 这个jar包是1.6+才有的,可以通过更新通过SDK Manager更新最新版android compatibility package, revision 3
然后在eclipse中工程上点击右键,选择android tools -> add compatibility library即可完成安装
ii.上面做法是官方的做法,也可以直接下载这个包,然后再手工导入到工程
b) 创建一个布局文件,放ViewPager ,要用完整路径
创建多个切换的子页面布局
c) 继承ViewPagerAdapter 创建ViewPager的适配器类,复写其他的相关方法
d) 为ViewPager设置适配器
e) 为ViewPager设置监听器
package can.opa.mainTab; import java.util.ArrayList; import java.util.List; import can.opa.R; import android.app.Activity; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.LayoutInflater; import android.view.View; import android.view.Window; import android.view.WindowManager; public class tabActivity_02 extends Activity{ private PagerViewAdapter adapter; private LayoutInflater mInflater; private ViewPager viewPager; private View btn_layout = null; //子界面1 private View voice_layout = null; //子界面2 private List<View> listViews; //存放子界面的布局 private String[] title_text = {"按键控制","语音控制"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.tab_02);
//初始化布局 initView(); } public void initView(){ //找到ViewPager viewPager = (ViewPager)findViewById(R.id.viewpagerLayout); //实例化适配器 adapter = new PagerViewAdapter();
//将所有子界面布局文件加到listViews中 mInflater = getLayoutInflater(); btn_layout = mInflater.inflate(R.layout.btn_control_page, null); voice_layout = mInflater.inflate(R.layout.voice_control_page, null); listViews = new ArrayList<View>(); listViews.add(btn_layout); listViews.add(voice_layout); viewPager.setAdapter(adapter); }
//页面切换的监听器 class pagerViewListener implements OnPageChangeListener{
//三种状态,0为空闲,1为滑动,2为加载完毕 @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub }
//界面1滑动到界面2,在界面1滑动前调用 @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub }
//从界面1到界面2,2页加载后调用... @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub } } class PagerViewAdapter extends PagerAdapter{ //返回页面的数量 @Override public int getCount() { // TODO Auto-generated method stub return listViews.size(); } //初始化container位置的界面 @Override public Object instantiateItem(View container, int position) { // TODO Auto-generated method stub ((ViewPager) container).addView(listViews.get(position), 0); return listViews.get(position); } //销毁position的界面 @Override public void destroyItem(View container, int position, Object object) { // TODO Auto-generated method stub ((ViewPager) container).removeView(listViews.get(position)); } //判断是否由对象生成界面 @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } } }
相关文章推荐
- 使用ViewPager和布局文件完成滑动切换
- Android使用TabLayou+fragment+viewpager实现滑动切换页面效果
- 使用viewpager嵌套实现上下左右滑动切换图片
- Android App中使用ViewPager+Fragment实现滑动切换效果
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- Android:使用ViewPager实现左右滑动切换图片(图上有点点)
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- Android:使用ViewPager实现左右滑动切换图片 (简单版)
- Android:使用ViewPager实现左右滑动切换图片(图上有点点)
- 使用ViewPager和Fragment同时实现点击底部Tab切换和手势滑动切换Fragment
- Android 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- Android:使用ViewPager实现左右滑动切换图片 (简单版)
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)
- android使用viewPager和Fragment实现滑动切换activity!
- Android Studio使用ViewPager+Fragment实现仿微信滑动切换界面
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- Android 使用ViewPager和RadioGroup配合Fragment实现标签页,可点击按钮切换、滑动切换。
- Android使用ViewPager实现导航页根据情况禁止滑动以及点击切换
- Android开发之使用ViewPager实现图片左右滑动切换效果