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:媒体按键消息
  4. Android(安卓)Handler:子线程发消息到UI主线程
  5. Android(安卓)微信朋友圈多图分享,不用申请key,不用第三方sdk
  6. Android仿QQ消息导航UI
  7. Android(安卓)SQLite数据库的添 删 查 改
  8. android保存图片到图库
  9. Android(安卓)handler的Context内存泄露

随机推荐

  1. Dagger Hilt - ViewModel的依赖注入及实
  2. Android触摸滑动全解(一)——View中触摸事
  3. Android实现TextView字体过长时滚动(跑马
  4. Android判断App前台运行还是后台运行(运
  5. Android源码个个击破之Context和Activity
  6. Android开发常用标签小结
  7. eclipse工程导入android studio报错:merg
  8. Android关于ListView的优化
  9. Android接口回调
  10. Android之基于XMPP Smack Openfire 单人