ViewPager 实现左右滑动 点击Tab
来源:互联网 发布:淘宝中差评可以删除吗 编辑:程序博客网 时间:2024/06/09 23:51
效果图
- 创建top.xml、bottom.xml。在bottom.xml中放置四个ImageButton 使用的是LinerLayout 在这里可以设置android:layout_weight=”1” 使 四个店家按钮平均分配所占大小
- 取消activity的titlebar 在setContentView(R.layout.activity_main);之前调用requestWindowFeature(Window.FEATURE_NO_TITLE); 无效。最后在application.xml中设置android:theme=”@style/Theme.AppCompat.NoActionBar”。(这里犯2 写道activity_main.xml中了 )
ViewPager步骤:实例化PagerView,创建PagerAdapter 重写方法
`pagerAdapter=new PagerAdapter() {@Override public void destroyItem(ViewGroup container, int position, Object object) { View view = mViews.get(position); container.removeView(view); } @Override public Object instantiateItem(ViewGroup container, int position) { View view = mViews.get(position); container.addView(view); return view; } @Override public int getCount() { return mViews.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; }};`
- 在点击切换按钮图片的时候 犯2 应设置:weixin_img.setImageResource(R.drawable.tab_weixin_pressed); 而非setBackgroundResource。
- ViewPager 滑动事件监听
mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { Log.d("InitEvent", "onPageScrolled() called with: " + "position = [" + position + "], positionOffset = [" + positionOffset + "], positionOffsetPixels = [" + positionOffsetPixels + "]"); } @Override public void onPageSelected(int position) { //mViewPager.setCurrentItem(position); Log.d("InitEvent", "onPageSelected() called with: " + "position = [" + position + "]"); resetImageBtn(); switch (position){ case 0: weixin_img.setImageResource(R.drawable.tab_weixin_pressed); break; case 1: friend_img.setImageResource(R.drawable.tab_find_frd_pressed); break; case 2: address_img.setImageResource(R.drawable.tab_address_pressed); break; case 3: setting_img.setImageResource(R.drawable.tab_settings_pressed); break; } } @Override public void onPageScrollStateChanged(int state) { Log.d("InitEvent", "onPageScrollStateChanged() called with: " + "state = [" + state + "]"); } });
总结:在使用LinerLayout时 可以使用layout_weight 来设置所占比例 比较方便。
<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:background="#0000" android:orientation="vertical"> <include layout="@layout/top"/> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_weight="1" android:layout_height="0dp"> </android.support.v4.view.ViewPager> <include layout="@layout/bottom" /></LinearLayout>
0 0
- ViewPager 实现左右滑动 点击Tab
- Android ActionBar+ViewPager 实现左右滑动Tab
- Android ActionBar+ViewPager 实现左右滑动Tab
- 利用ViewPager实现可左右滑动的Action Tab
- ActionBar + ViewPager实现左右滑动切换Tab页效果
- 使用ViewPager和Tab制作实现左右滑动导航
- 利用ViewPager实现可左右滑动的Action Tab
- 利用ViewPager实现可左右滑动的Action Tab
- viewpager 实现左右滑动
- ViewPager和GridView实现左右滑动功能及点击事件
- ViewPager实现左右循环滑动
- 实现左右滑动—ViewPager
- 实现viewPager无限左右滑动
- viewPager实现图片左右滑动
- ViewPager实现视图左右滑动
- viewPager + recycleView 实现左右滑动
- Fragment+ViewPager实现左右滑动
- 禁止ViewPager左右滑动,只能点击切换
- 关于JAVA.UTIL.DATE
- React Natice <Image> 动态资源
- Elasticsearch中的doc是咋回事
- 【图像处理复习】图像处理常用边缘检测算子总结
- DeerResume:在线MarkDown简历工具
- ViewPager 实现左右滑动 点击Tab
- TCP /IP 完整知识点
- Android初识
- PHP统计mysql数据表里制定字段内容的总数
- javascript中this指向问题
- c语言打印100~200之间的素数
- C语言 99乘法口诀表
- C语言 判断0~3000之间的闰年
- 【c语言】 交换两个整形变量的值(要求不创建临时变量)