VIewPage+Fragment
效果图:

代码
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的更多相关文章
- Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换
一.问题描写叙述 本系列将结合案例应用,陆续向大家介绍一些Android典型界面的设计,首先说说tab导航,导航分为一层和两层(底部区块+区域内头部导航).主要实现方案有RadioGroup+View ...
- Android Studio精彩案例(三)《模仿微信ViewPage+Fragment实现方式二》
转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 写在前面的话:此专栏是博主在工作之余所写,每一篇文章尽可能写的思路清晰一些,属于博主的"精华"部分,不同于以往专栏 ...
- Android之取消ViewPage+Fragment的预加载
用过ViewPage+Fragment组合的童鞋自然知道这个问题,没有遇到的同学祝愿你们永远不会遇到,呵呵.直接上关键代码 注释:setUserVisibleHint每次fragment显示与隐藏都会 ...
- ViewPage+Fragment(仿微信切换带通知)
第一步 : 布局文件 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Li ...
- ViewPage + Fragment 防止Fragment 重复加载问题
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanc ...
- Android Studio精彩案例(二)《仿微信动态点击底部tab切换Fragment》
转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 现在很多的App要么顶部带有tab,要么就底部带有tab.用户通过点击tab从而切换不同的页面(大部分情况时去切换fragment). ...
- Fragment 生命周期 事务 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- android 资讯阅读器
最近找申请到了一个不错的接口 , 非常适合拿来写一个资讯类的app. 现在着手写,随写随更.也算是抛砖引玉.烂尾请勿喷.╭(╯^╰)╮ android 资讯阅读器 第一阶段目标样式(滑动切换标签 , ...
- android 图片浏览器 demo
先上效果图,本demo 会逐步完好 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTU2NTczMDE2NjEz/font/5a6L5L2T/fontsi ...
随机推荐
- UDP标准模型
伪代码 #服务端 #创建UDP服务器 ss = socket() #创建一个服务器套接字 ss.bind() #绑定服务器套接字 inf_loop: #服务器无限循环 cs = ss.recvfrom ...
- ubuntu14.04下svn版本管理系统的安装及常用命令的使用整理
ubuntu14.04下安装svn$sudo apt-get install subversion 执行这一步就安装完成了,在ubuntu先安装很方便 安装完成后,创建版本库目录,由于是本地环境,就在 ...
- MySQL 创建索引(Create Index)的方法和语法结构及例子
MySQL 创建索引(Create Index)的方法和语法结构及例子 MySQL 创建索引(Create Index)的方法和语法结构及例子 CREATE INDEX Syntax CREATE ...
- HDU 1533 Going home
Going Home Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- java入门了解08
1.集合深入 (一)hashSet实现原理: 当我们添加一个元素,HashSet会计算出其Hash值,再根据hash值在哈希表中找出存储他的位置 有两种情况:a.如果算出的hash值在哈希表中位置没有 ...
- EntityFramework 学习 一 Entity Framework 查询设计
First/FirstOrDefault: using (var ctx = new SchoolDBEntities()) { var student = (from s in ctx.Studen ...
- linux学习-文件打包与压缩
- HDU 4123 Bob's Race:树的直径 + 单调队列 + st表
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4123 题意: 给你一棵树,n个节点,每条边有长度. 然后有m个询问,每个询问给定一个q值. 设dis[ ...
- maven 3.2.5 的安装及简单示例
http://www.mvnrepository.com 一直没有使用maven,它的作用就不说了,这二天需要用到,发现网上都是以前的版本,所以,我一边配置,一边记录. 一 下载maven 现在很多I ...
- SQL Server convet函数data_type默认长度
语法 CONVERT(data_type(length),data_to_be_converted,style) data_type(length) 规定目标数据类型(带有可选的长度),默认30个字符 ...