android中一个关于ViewPager的例子
2013-07-03 23:17
302 查看
先上结果图:
这个类是一个用来滑动显示的类,需要jar包(android-support-v4.jar),这个jar包是谷歌在android什么版本添加的记不得了,也没必要在意这个,现在的版本都会默认有这个jar包的,没有就去拷贝一个放在libs项目目录下,如果运行报错说没有找到这个包,就导入运用这个jar包就好了。
代码如下:
主activity文件(MainActivity.java):
主界面的布局文件(activity_main.xml):
动态加载的布局因为都是一样的,就只列举一个(item1_layout.xml):
这个类是一个用来滑动显示的类,需要jar包(android-support-v4.jar),这个jar包是谷歌在android什么版本添加的记不得了,也没必要在意这个,现在的版本都会默认有这个jar包的,没有就去拷贝一个放在libs项目目录下,如果运行报错说没有找到这个包,就导入运用这个jar包就好了。
代码如下:
主activity文件(MainActivity.java):
package com.tody.viewpagerdemo; import java.util.ArrayList; import java.util.List; import android.R.color; import android.os.Bundle; import android.app.Activity; import android.support.v4.view.PagerAdapter; import android.support.v4.view.PagerTabStrip; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.ViewGroup; /** * 主界面 * @author tody.yang * */ public class MainActivity extends Activity { private ViewPager mViewPager; private PagerTabStrip mPagerTabStrip; private View view1,view2,view3,view4;//供滑动的页卡 private List<View> viewList;//用来装滑动页卡的容器 private List<String> titleList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } /** * 初始化视图 */ @SuppressWarnings("static-access") private void initView(){ mViewPager = (ViewPager) findViewById(R.id.viewPager);//实例化ViewPager对象 mPagerTabStrip = (PagerTabStrip) findViewById(R.id.pagerTabStrip); LayoutInflater mLayoutInflater = getLayoutInflater().from(this); view1 = mLayoutInflater.inflate(R.layout.item1_layout, null);//实例化的页卡 view2 = mLayoutInflater.inflate(R.layout.item2_layout, null); view3 = mLayoutInflater.inflate(R.layout.item3_layout, null); view4 = mLayoutInflater.inflate(R.layout.item4_layout, null); viewList = new ArrayList<View>(); viewList.add(view1); viewList.add(view2); viewList.add(view3); viewList.add(view4); titleList = new ArrayList<String>();//标题 titleList.add("第一页"); titleList.add("第二页"); titleList.add("第三页"); titleList.add("第四页"); /*mPagerTabStrip.setTabIndicatorColor(color.holo_blue_dark); mPagerTabStrip.setDrawFullUnderline(false); mPagerTabStrip.setBackgroundColor(color.holo_orange_dark); mPagerTabStrip.setTextSpacing(50);*/ mViewPager.setAdapter(new ViewPagerAdapter());//设置适配器 } /** * 自定义PagerAdapter类 * @author tody.yang * */ public class ViewPagerAdapter extends PagerAdapter{ @Override public int getCount() {//得到子项个数 return viewList.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public void destroyItem(ViewGroup container, int position, Object object) {//摧毁子项 container.removeView(viewList.get(position)); } @Override public int getItemPosition(Object object) { // TODO Auto-generated method stub return POSITION_NONE; } @Override public Object instantiateItem(ViewGroup container, int position) {//显示子项 container.addView(viewList.get(position)); return viewList.get(position); } @Override public CharSequence getPageTitle(int position) {//设置标题 // TODO Auto-generated method stub return titleList.get(position); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
主界面的布局文件(activity_main.xml):
<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" tools:context=".MainActivity" > <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="wrap_content" android:layout_height="wrap_content" > <!-- <android.support.v4.view.PagerTitleStrip android:id="@+id/pagerTitleStrip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" > </android.support.v4.view.PagerTitleStrip> --> <android.support.v4.view.PagerTabStrip android:id="@+id/pagerTabStrip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top"/> </android.support.v4.view.ViewPager> </LinearLayout>
动态加载的布局因为都是一样的,就只列举一个(item1_layout.xml):
<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" tools:context=".MainActivity" android:background="@android:color/holo_red_dark"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="我是第一张" android:textColor="@android:color/black" android:gravity="center" android:textSize="30sp" /> </LinearLayout>
相关文章推荐
- android中一个关于horizontalscrollview的例子
- Android的ViewPager关于列表的使用
- 一个android的webview的例子
- Android学习札记36:一个关于onSaveInstanceState ()方法的例子
- [android|ViewPager]关于ViewPager如何阻止其滑动和一次切换多页闪烁的问题
- android viewpager 删除其中的一个view并刷新界面
- 一个关于ImageView,单选复选按钮,开关按钮的例子
- Android 中 ViewPager+Fragment关于fragment的数据更新
- Android 如何实现一个平滑过渡的ViewPager广告条
- Android:关于Viewpager中的Fragment 滑动时保存状态的问题
- android中ViewPager 与fragment 的一个应用
- 关于ListView和ViewPager的一个Bug
- Android关于ExpandableListView用法的一个简单小例子。仿QQ列表
- Android应用开发(2):制作一个漂亮的引导界面--viewpager的使用
- 【Android UI设计与开发】第02期:引导界面(二)使用ViewPager2、其中小点的图片用一个selector来控制颜色,point.xml:现欢迎引导页面
- 关于ViewPager Activity的一个问题
- Android TextView关于android:ellipsize=end的一个bug
- Android ViewPager例子
- Android 一个无限循环滚动的卡片式ViewPager
- 关于Fragment中定义一个ListView,然后给这个ListView添加header(ViewPager)的问题