ViewPageAdapter.java

packagecom.rong;importjava.util.ArrayList;importjava.util.List;importandroid.support.v4.view.PagerAdapter;importandroid.support.v4.view.ViewPager;importandroid.view.View;publicclassViewPagerAdapterextendsPagerAdapter{privateList<View>views;publicViewPagerAdapter(List<View>views){this.views=views;}@OverridepublicintgetCount(){returnviews.size();}@OverridepublicbooleanisViewFromObject(Viewarg0,Objectarg1){returnarg0==arg1;}@OverridepublicvoiddestroyItem(Viewcontainer,intposition,Objectobject){((ViewPager)container).removeView(views.get(position));}@OverridepublicObjectinstantiateItem(Viewcontainer,intposition){((ViewPager)container).addView(views.get(position));returnviews.get(position);}/***插入一个View到viewpager中**@paramview*@return*/publicbooleaninsert(Viewview){if(this.views==null){this.views=newArrayList<View>();}returnthis.views.add(view);}}

HomeAcitivity.java

packagecom.rong;importjava.util.ArrayList;importjava.util.List;importandroid.app.Activity;importandroid.os.Bundle;importandroid.support.v4.view.ViewPager;importandroid.support.v4.view.ViewPager.OnPageChangeListener;importandroid.util.DisplayMetrics;importandroid.util.Log;importandroid.view.Display;importandroid.view.View;importandroid.view.ViewGroup.LayoutParams;importandroid.widget.LinearLayout;importcom.rong.wechat5.R;publicclassHomeActivityextendsActivity{privateViewhome_line;privateintscreenWidth1_3;privateViewPagerhome_vp;privateViewPagerAdapterviewPagerAdapter;privateList<View>views=newArrayList<View>();@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.layout_home);initView();}privatevoidinitView(){Displaydisplay=getWindow().getWindowManager().getDefaultDisplay();DisplayMetricsdm=newDisplayMetrics();display.getMetrics(dm);home_line=(View)findViewById(R.id.home_line);home_vp=(ViewPager)findViewById(R.id.home_vp);LayoutParamslp=home_line.getLayoutParams();screenWidth1_3=dm.widthPixels/3;lp.width=screenWidth1_3;lp.height=5;home_line.setLayoutParams(lp);Viewlayout1=View.inflate(this,R.layout.layout_view1,null);Viewlayout2=View.inflate(this,R.layout.layout_view2,null);Viewlayout3=View.inflate(this,R.layout.layout_view3,null);views.add(layout1);views.add(layout2);views.add(layout3);viewPagerAdapter=newViewPagerAdapter(views);home_vp.setAdapter(viewPagerAdapter);home_vp.setOnPageChangeListener(newOnPageChangeListener(){@OverridepublicvoidonPageSelected(intarg0){}@OverridepublicvoidonPageScrolled(intposition,floatpositionOffset,intpositionOffsetPixels){Log.i("TAG",position+"=="+positionOffset+"=="+positionOffsetPixels);LinearLayout.LayoutParamslp=(android.widget.LinearLayout.LayoutParams)home_line.getLayoutParams();lp.leftMargin=(int)(screenWidth1_3*position+screenWidth1_3*positionOffset);home_line.setLayoutParams(lp);}@OverridepublicvoidonPageScrollStateChanged(intarg0){}});}}

layout_home.xml

<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#ffffff"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="60dp"android:orientation="horizontal"><RelativeLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="消息"android:textColor="#000000"android:textSize="24sp"/></RelativeLayout><RelativeLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="朋友圈"android:textColor="#000000"android:textSize="24sp"/></RelativeLayout><RelativeLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="我"android:textColor="#000000"android:textSize="24sp"/></RelativeLayout></LinearLayout><Viewandroid:id="@+id/home_line"android:layout_width="0dp"android:layout_height="0dp"android:background="#ff0000"/><android.support.v4.view.ViewPagerandroid:id="@+id/home_vp"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"/></LinearLayout>


更多相关文章

  1. Android 如何让程序定时进行消息通知到通知栏
  2. Android:媒体按键消息
  3. Android仿QQ消息导航UI
  4. Android 微信朋友圈多图分享,不用申请key,不用第三方sdk
  5. Android Handler:子线程发消息到UI主线程
  6. Android消息推送机制调研
  7. Android消息循环机制源码分析
  8. Android消息机制之四---Looper,Handler,Message例子
  9. Android 消息机制 进程调度问题

随机推荐

  1. android,service实例,播放音乐
  2. AllJoyn, Android 平台 设备之间通信开源
  3. Android——HttpUrlConnection
  4. android中selector在java代码中使用无效
  5. 关于Android(安卓)的Log使用
  6. TabHost自定义标签页(二)
  7. Android 触摸屏手势识别资料汇总
  8. Android学习杂记(二):异步任务AsyncTask详解
  9. Android Api WindowManager.LayoutParams
  10. FloatingActionButton