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 ...
随机推荐
- [原创]java WEB学习笔记26:MVC案例完整实践(part 7)---修改的设计和实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- CSS3滑块菜单
在线演示 本地下载
- 20145229吴姗珊 《Java程序设计》第9周总结
20145229吴姗珊 <Java程序设计>第9周总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交 ...
- linux 资源管理
1. 查看内存信息 free [root@rhel6 script]# free total used free shared buffers cached Mem: -/+ buffers/cac ...
- HBase常用操作-HBaseUtil
package com.zhen.hbase; import java.io.IOException; import java.util.ArrayList; import java.util.Col ...
- JavaWeb -- Cookie应用实例 -- 购物历史记录
1. 页面一:主页面 页面二: 详细显示页面 Demo2 负责页面一, 显示商品清单和历史记录 Demo3负责页面二 ...
- 英语发音规则---字母组合oo的发音规律
英语发音规则---字母组合oo的发音规律 一.总结 一句话总结:在英语单词中,字母组合oo多数读长音/u:/,少数读短音/ʊ/.另外,还有极少数的特殊情况读/ʌ/, 在英语单词中,字母组合oo多数读长 ...
- Delphi webservices 传数据
数据集数据转换为XML function ReplaceString(AString: string): string; begin Result := StringReplace(AString, ...
- linux-常用指令1
掌握下面的命令是最基本的噢!那是我们使用一个系统最基本的操作. 玩过dos么,其实,linux下的文件操作和dos差不多.没什么难的,多练习就记住了.下面如果有条件的话请跟我一样操作吧!百看不如一做. ...
- Jmete基础使用
1,jmeter下载与安装 Jmeter的运行需要JDK支持,所以需要先安装好jdk,并配置好环境变量: 下载地址:http://jmeter.apache.org/download_jmeter.c ...