viewpager

来源:互联网 发布:mac快速进入屏保 编辑:程序博客网 时间:2024/06/03 17:07
<RelativeLayout 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=".MainActivity" >    <android.support.v4.view.ViewPager        android:id="@+id/viewpager"        android:layout_width="wrap_content"        android:layout_height="wrap_content" >        <android.support.v4.view.PagerTabStrip            android:id="@+id/tabstrip"            android:layout_width="wrap_content"            android:layout_height="50dip"            android:gravity="center" />    </android.support.v4.view.ViewPager></RelativeLayout>



package com.example.android_viewpager1;import java.util.ArrayList;import android.annotation.SuppressLint;import android.app.Activity;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.v4.view.ViewPager.OnPageChangeListener;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class MainActivity extends Activity {ViewPager pager = null;PagerTabStrip tabStrip = null;ArrayList<View> viewContainter = new ArrayList<View>();ArrayList<String> titleContainer = new ArrayList<String>();public String TAG = "tag";@SuppressLint("ResourceAsColor")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);pager = (ViewPager) this.findViewById(R.id.viewpager);tabStrip = (PagerTabStrip) this.findViewById(R.id.tabstrip);//取消tab下面的长横线tabStrip.setDrawFullUnderline(false);//设置tab的背景色tabStrip.setBackgroundColor(this.getResources().getColor(R.color.bg));//设置当前tab页签的下划线颜色tabStrip.setTabIndicatorColor(this.getResources().getColor(R.color.red));tabStrip.setTextSpacing(200);View view1 = LayoutInflater.from(this).inflate(R.layout.tab1, null);View view2 = LayoutInflater.from(this).inflate(R.layout.tab2, null);View view3 = LayoutInflater.from(this).inflate(R.layout.tab3, null);View view4 = LayoutInflater.from(this).inflate(R.layout.tab4, null);      //viewpager开始添加viewviewContainter.add(view1);viewContainter.add(view2);viewContainter.add(view3);viewContainter.add(view4);      //页签项titleContainer.add("网易新闻");titleContainer.add("网易体育");titleContainer.add("网易财经");titleContainer.add("网易女人");pager.setAdapter(new PagerAdapter() {//viewpager中的组件数量@Overridepublic int getCount() {return viewContainter.size();}          //滑动切换的时候销毁当前的组件@Overridepublic void destroyItem(ViewGroup container, int position,Object object) {((ViewPager) container).removeView(viewContainter.get(position));}          //每次滑动的时候生成的组件@Overridepublic Object instantiateItem(ViewGroup container, int position) {((ViewPager) container).addView(viewContainter.get(position));return viewContainter.get(position);}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}@Overridepublic int getItemPosition(Object object) {return super.getItemPosition(object);}@Overridepublic CharSequence getPageTitle(int position) {return titleContainer.get(position);}});pager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageScrollStateChanged(int arg0) {Log.d(TAG, "--------changed:" + arg0);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {Log.d(TAG, "-------scrolled arg0:" + arg0);Log.d(TAG, "-------scrolled arg1:" + arg1);Log.d(TAG, "-------scrolled arg2:" + arg2);}@Overridepublic void onPageSelected(int arg0) {Log.d(TAG, "------selected:" + arg0);}});}}

0 0
原创粉丝点击