工程目录:
案例一:
layout1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/pic16"
android:scaleType="centerCrop"
android:id="@+id/imageView" />
</LinearLayout>
后面layout2.xml,3,4布局一样,修改图片的引用就可
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context="com.example.administrator.myapplication.MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<android.support.v4.view.PagerTabStrip
android:id="@+id/pagertab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top">
</android.support.v4.view.PagerTabStrip>
</android.support.v4.view.ViewPager>
</LinearLayout>
MainActivity.java
package com.example.administrator.myapplication;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import java.util.ArrayList;
//viewpager组件的使用
public class MainActivity extends Activity implements ViewPager.OnPageChangeListener {
private ViewPager viewPager;
private PagerTabStrip pagerTabStrip;
private String[] titles={"诺诺","绘梨衣","小怪兽","天羽羽斩"};
private ArrayList<View> views=new ArrayList<View>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager= (ViewPager) findViewById(R.id.viewpager);
pagerTabStrip= (PagerTabStrip) findViewById(R.id.pagertab);
initViews();
viewPager.setAdapter(new MyPagerAdapter());
}
private void initViews()
{
views.add(getLayoutInflater().inflate(R.layout.layout1,null));
views.add(getLayoutInflater().inflate(R.layout.layout2,null));
views.add(getLayoutInflater().inflate(R.layout.layout3,null));
views.add(getLayoutInflater().inflate(R.layout.layout4, null));
//
pagerTabStrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_light));
pagerTabStrip.setTabIndicatorColor(getResources().getColor(android.R.color.holo_blue_bright));
pagerTabStrip.setTextColor(Color.WHITE);
//设置默认显示的选项卡
viewPager.setCurrentItem(2);
//注册事件
viewPager.setOnPageChangeListener(this);
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
//可以设置加载数据
Toast.makeText(this,"page---"+position,Toast.LENGTH_SHORT).show();
}
@Override
public void onPageScrollStateChanged(int state) {
}
//适配器
class MyPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return views.size();
}
//实例化选项卡
@Override
public Object instantiateItem(ViewGroup container, int position) {
View v = views.get(position);
container.addView(v);
return v;
}
//删除选项卡
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(views.get(position));
}
//判断视图是否为返回的对象
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
//获取标题
@Override
public CharSequence getPageTitle(int position) {
return titles[position];
}
}
}
案例二:
<activity
android:name=".MainActivity2"
android:label="@string/title_activity_main2"
android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen">//全屏效果 注意这条
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
activity_main2.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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"
tools:context="com.example.administrator.myapplication.MainActivity2">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center">
</android.support.v4.view.ViewPager>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/point_layout"
android:layout_gravity="center|bottom">
<ImageView
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_margin="10dp"
android:src="@drawable/meitu_1"
/>
<ImageView
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_margin="10dp"
android:src="@drawable/meitu_1"
/>
<ImageView
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_margin="10dp"
android:src="@drawable/meitu_1"
/>
<ImageView
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_margin="10dp"
android:src="@drawable/meitu_1"
/>
</LinearLayout>
</FrameLayout>
MainActivity.java
package com.example.administrator.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import java.util.ArrayList;
public class MainActivity2 extends Activity implements ViewPager.OnPageChangeListener{
private ViewPager viewPager;
private ArrayList<View> views=new ArrayList<View>();
private ImageView[] imageViews;
private int currentIndex;//当前正在显示的卡页
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
initViews();
initPoint();
}
private void initViews()
{
viewPager= (ViewPager) findViewById(R.id.viewpager);
views.add(getLayoutInflater().inflate(R.layout.layout1, null));
views.add(getLayoutInflater().inflate(R.layout.layout2, null));
views.add(getLayoutInflater().inflate(R.layout.layout3, null));
views.add(getLayoutInflater().inflate(R.layout.layout4, null));
/* //设置默认显示的选项卡 无效
viewPager.setCurrentItem(2);*/
//注册事件
// viewPager.setOnPageChangeListener(this);
viewPager.setAdapter(new MyPagerAdapter());
viewPager.setOnPageChangeListener(this);
}
private void initPoint()
{
LinearLayout point_layout= (LinearLayout) findViewById(R.id.point_layout);
imageViews=new ImageView[views.size()];
for(int i=0;i<imageViews.length;i++)
{
//获得LinearLayout的子元素
imageViews[i]= (ImageView) point_layout.getChildAt(i);
}
currentIndex=0;
imageViews[currentIndex].setImageResource(R.drawable.meitu_2);
}
//设置小圆点的图片
private void setCurrentPoint(int position)
{
if(currentIndex<0||currentIndex==position||currentIndex>imageViews.length-1)
{
return;
}
imageViews[currentIndex].setImageResource(R.drawable.meitu_1);
imageViews[position].setImageResource(R.drawable.meitu_2);
currentIndex=position;
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
setCurrentPoint(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
//适配器
class MyPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return views.size();
}
//实例化选项卡
@Override
public Object instantiateItem(ViewGroup container, int position) {
View v = views.get(position);
container.addView(v);
return v;
}
//删除选项卡
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(views.get(position));
}
//判断视图是否为返回的对象
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
}