效果图:

代码

public class NewOrderListFargmentActivity  extends BaseActivity implements OnClickListener  {

    private LinearLayout lin_left_base;
private ViewPager vpSlideView;
private List<Fragment> fragmentsList=null;; private int currntPosition = 0;
private LinearLayout llAboveLable;
private TextView tvAllHotel;
private TextView tvFastChain;
private TextView tvTodayBargain;
private ImageView ivSlideLine;
public DeliveryOrderFragment delivery;
public FinishOrderFragment finish;
public GrabOrderFragment grab;
private TextView yiyuyue;
private TextView tv_fast_finsh;
public YuYueOrderFragment mYuYueFragment;
private LinearLayout title_lin;
int temp=-1;
@Override
protected void localOnCreate(Bundle savedInstanceState) {
setContentView(R.layout.order_layout);
setTitle("全部订单");
TextView titleView = getTitleView();
titleView.setGravity(Gravity.CENTER);
setLeft("");
init();
initTab();
initPager();
initData();
setListenter();
} private void init() {
vpSlideView = (ViewPager) findViewById(R.id.vp_slide_view); } private void initData() { } private void setListenter() { }
private void initTab() {
llAboveLable = (LinearLayout) findViewById(R.id.ll_above_lable);
tvAllHotel = (TextView) findViewById(R.id.tv_all_hotel);
//已完成
tv_fast_finsh = (TextView) findViewById(R.id.tv_fast_finsh);
//配送中
tvFastChain = (TextView) findViewById(R.id.tv_fast_chain); ivSlideLine = (ImageView) findViewById(R.id.iv_slide_line);
/* 设置 偏移量 计算横线 偏移量
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.label_slide_line);
int imgWidth = bitmap.getWidth();
int offset = (getScreenWidth() /4 - imgWidth) / 2;
// 设置偏移位置
Matrix matrix = new Matrix();
matrix.postTranslate(offset, 0);
ivSlideLine.setImageMatrix(matrix);
*/
LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) ivSlideLine
.getLayoutParams();
lp.width = getScreenWidth() / 3;
ivSlideLine.setLayoutParams(lp); //设置横线的宽度 } public int getScreenWidth() {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthPixels;
return screenWidth;
}
private void initPager() {
fragmentsList= new ArrayList<Fragment>();
delivery = new DeliveryOrderFragment();
finish = new FinishOrderFragment();
grab = new GrabOrderFragment(); mYuYueFragment = new YuYueOrderFragment(); fragmentsList.add(grab);
fragmentsList.add(delivery);
fragmentsList.add(finish);
// fragmentsList.add(mYuYueFragment); FragmentPagerAdapter mAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
return fragmentsList.size();
} @Override
public Fragment getItem(int arg0) {
return fragmentsList.get(arg0);
}
}; vpSlideView.setAdapter(mAdapter);
vpSlideView.setOffscreenPageLimit(3); //这种缓存的数量
vpSlideView.setCurrentItem(currntPosition); // 默认是第一页
tvAllHotel.setTextColor(getResources().getColor(
R.color.colormina)); vpSlideView.setOnPageChangeListener(new OnPageChangeListener() { @Override
public void onPageSelected(int position) {
TranslateAnimation ta = new TranslateAnimation(currntPosition
* getScreenWidth() / 3,
position * getScreenWidth() / 3, 0, 0);
ta.setDuration(200);
ta.setFillAfter(true);
ivSlideLine.startAnimation(ta); //加上滚动时候的动画
currntPosition = position;
tvAllHotel.setTextColor(getResources().getColor(
R.color.search_result_title1));
tvFastChain.setTextColor(getResources().getColor(
R.color.search_result_title1));
tv_fast_finsh.setTextColor(getResources().getColor(
R.color.search_result_title1));
yiyuyue.setTextColor(getResources().getColor(
R.color.search_result_title1));
switch (position) {
case 0:
llAboveLable.setVisibility(View.VISIBLE);
tvAllHotel.setTextColor(getResources().getColor(
R.color.colormina)); break;
case 1:
llAboveLable.setVisibility(View.VISIBLE);
tvFastChain.setTextColor(getResources().getColor(
R.color.colormina));
break;
case 2:
llAboveLable.setVisibility(View.VISIBLE);
tv_fast_finsh.setTextColor(getResources().getColor(
R.color.colormina));
break;
case 3:
llAboveLable.setVisibility(View.VISIBLE);
yiyuyue.setTextColor(getResources().getColor(
R.color.colormina));
break;
default:
break;
}
} @Override
public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override
public void onPageScrollStateChanged(int arg0) { }
});
}
@Override
public void onClick(View v) { }
}

布局文件 :
order_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <!-- <include layout="@layout/title" /> --> <LinearLayout
android:id="@+id/ll_above_lable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffffff"
android:orientation="vertical" > <LinearLayout
android:id="@+id/title_lin"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_gravity="center_horizontal"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingTop="5dp" > <TextView
android:id="@+id/tv_all_hotel"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="可抢单"
android:textSize="16.5sp" /> <TextView
android:id="@+id/tv_fast_chain"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="配送中"
android:textSize="16.5sp" /> <TextView
android:id="@+id/tv_fast_finsh"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="已完成"
android:textSize="16.5sp" /> <TextView
android:id="@+id/yiyuyue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="已预约"
android:textSize="16.5sp"
android:visibility="gone" />
</LinearLayout> <ImageView
android:id="@+id/iv_slide_line"
android:layout_width="70dp"
android:layout_height="1dp"
android:background="#ff5b3b"
android:scaleType="matrix" /> <View
android:layout_width="match_parent"
android:layout_height="1px"
android:alpha="0.5"
android:background="#bababa" />
</LinearLayout> <android.support.v4.view.ViewPager
android:id="@+id/vp_slide_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</android.support.v4.view.ViewPager> </LinearLayout>

VIewPage+Fragment的更多相关文章

  1. Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换

    一.问题描写叙述 本系列将结合案例应用,陆续向大家介绍一些Android典型界面的设计,首先说说tab导航,导航分为一层和两层(底部区块+区域内头部导航).主要实现方案有RadioGroup+View ...

  2. Android Studio精彩案例(三)《模仿微信ViewPage+Fragment实现方式二》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 写在前面的话:此专栏是博主在工作之余所写,每一篇文章尽可能写的思路清晰一些,属于博主的"精华"部分,不同于以往专栏 ...

  3. Android之取消ViewPage+Fragment的预加载

    用过ViewPage+Fragment组合的童鞋自然知道这个问题,没有遇到的同学祝愿你们永远不会遇到,呵呵.直接上关键代码 注释:setUserVisibleHint每次fragment显示与隐藏都会 ...

  4. ViewPage+Fragment(仿微信切换带通知)

    第一步 : 布局文件 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Li ...

  5. ViewPage + Fragment 防止Fragment 重复加载问题

    @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanc ...

  6. Android Studio精彩案例(二)《仿微信动态点击底部tab切换Fragment》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 现在很多的App要么顶部带有tab,要么就底部带有tab.用户通过点击tab从而切换不同的页面(大部分情况时去切换fragment). ...

  7. Fragment 生命周期 事务 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. android 资讯阅读器

    最近找申请到了一个不错的接口 , 非常适合拿来写一个资讯类的app. 现在着手写,随写随更.也算是抛砖引玉.烂尾请勿喷.╭(╯^╰)╮ android 资讯阅读器 第一阶段目标样式(滑动切换标签 , ...

  9. android 图片浏览器 demo

    先上效果图,本demo 会逐步完好 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTU2NTczMDE2NjEz/font/5a6L5L2T/fontsi ...

随机推荐

  1. Python map,reduce,filter,apply

    map(function, iterable, ...) map()函数接收两个参数,一个是函数,一个是可迭代的对象,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 基本等 ...

  2. Oracle数据库体系结构(1)整体概述

    oracle数据库的存储结构: 逻辑存储结构:oracle内部的组织和管理数据的方式 物理存储结构:oracle外部(操作系统)组织和管理数据的方式 oracle对逻辑存储结构和物理存储结构的管理是分 ...

  3. Mysql 导入实战

    这个几天公司迁移预览版数据库,当前公司使用的是 Mysql 数据库,版本为 5.6.迁移的数据库大小也不算很大,2G 多一点,总体以小表为主,就几张表数据比较大,有业务记录表达到了 150W 的数量级 ...

  4. [原创]java WEB学习笔记10:GenericServlet

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. 【leetcode刷题笔记】Longest Substring Without Repeating Characters

    Given a string, find the length of the longest substring without repeating characters. For example, ...

  6. python 3 并发编程之多进程 multiprocessing模块

    一 .multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程. ...

  7. EntityFramework 学习 一 Eager Loading

    贪婪加载是指查询一个类型实体的时候同时查询与实体关联的类型 通过Include()方法实现 using (var context = new SchoolDBEntities()) { var stu ...

  8. JSP&EL 内置对象

    JSP&EL 内置对象 转载▼   具体的JSP和El中的内置对象见下表,由于我写在了excel中,也不知道怎么把excel发出来,就截了图. 相关问题: Q1: JSP:EL中 pageCo ...

  9. BZOJ 1010 [HNOI2008]玩具装箱toy:斜率优化dp

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1010 题意: 有n条线段,长度分别为C[i]. 你需要将所有的线段分成若干组,每组中线段的 ...

  10. HTML5学习记录——3

    HTML媒体 1.HTML多媒体 视频格式 .avi    微软开发 .wmv  微软开发 .mpg  .mpeg .mov 苹果公司开发 .rm  .ram  允许低带宽的视频流 .swf  .fl ...