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 ...
随机推荐
- spring AOP简单实现代码存放
@Before:使用Before增强处理只能在目标方法执行之前织入增强,如果Before增强处理没有特殊处理,目标方法总会自动执行,如果Before处需要阻止目标方法的执行,可通过抛出一个异常来实现. ...
- react项目中antd组件库的使用需要注意的问题
antd是蚂蚁金服推出的ui组件库,给我们在react项目开发中提供了大大的便利.但在使用的过程中,或多或少的会遇到一些问题,毕竟,用的是别人的东西,就得遵守别人的规则嘛!官方文档:https://a ...
- Linux Shell总结
Shell编程总结: 1.linux命令 2.位置变量 $0 $1 $# $? 3.条件测试 [ ] [[ ]] (( )) if case 4.循环for while 5.打印echo cat 6. ...
- [算法]旋转矩阵问题(Spiral Matrix)
题目一: Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spir ...
- ThinkPad.E440_安装固态硬盘
1.ThinkPad(E440) 加装SSD固态硬盘,并改装双硬盘_百度经验.html(https://jingyan.baidu.com/article/9f63fb91856ec7c8400f0e ...
- 本地文件读取(csv,txt)时字符编码问题解决
今天进行csv文件读取时,老是入库为空,因为其中有中文字符,我要通过中文字符映射成相应的编号(上升:1011,下降:1012),于是怎么也取不到编号.刚开始以为程序映射出了问题,最后日志打出来后,发现 ...
- angularjs file upload插件使用总结
之前由于项目需要,决定使用angularjs做前端开发,在前两个项目中都有文件上传的功能,因为是刚接触angularjs,所以对一些模块和模块间的依赖不是很了解.都是由其他大神搭好框架,我只做些简单的 ...
- 异步刷新页面的前进与后退的实现--pushState replaceState
实现目标 页面的跳转(前进后退,点击等)不重新请求页面 页面URL与页面展现内容一致(符合人们对传统网页的认识) 在不支持的浏览器下降级成传统网页的方式 使用到的API history.state 当 ...
- EAV模型
了解EAV设计基本原理的最好方法就是理解行建模(row modelling,其中EAV是广义形式). 以一超市数据库为例,必须管理数以千计的产品和品牌,其中许多产品存在期很短暂.那么,显而易见,产品名 ...
- JavaUtil_01_MD5加密
一.百度翻译MD5工具类 昨天做java微信开发,引用百度翻译API给公众号添加翻译功能时,需要使用MD5生成签名.注意,使用MD5生成签名后一定要转成小写,不然百度翻译后台不会认你这个签名的,会报无 ...