ActionBar +Tab+ViewPager +Fragment 支持侧滑动完成办税工具的页面展示
1:fragment_zhqrl.xml(征期日历)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="征期日历"/>
</LinearLayout>
2:fragment_bshdzh.xml(办税地址)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="办税地址"/> </LinearLayout>
3:ZhqrlFragment.java
public class ZhqrlFragment extends Fragment{
private View view = null;
@Override
public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) {
view = arg0.inflate(R.layout.fragment_zhqrl, arg1, false);
Log.i("ZhqrlFragment","*************");
return view;
}
}
4:BshdzhFragment.java
public class BshdzhFragment extends Fragment{
private View view = null; @Override
public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) {
view = arg0.inflate(R.layout.fragment_bshdzh, arg1, false);
Log.i("BshdzhFragment", "**********");
return view;
}
}
5:BshToolsViewPagerAdapter.java(ViewPager的适配器)
public class BshToolsViewPagerAdapter extends FragmentPagerAdapter{
private Context mContext=null; private BshdzhFragment bshdzhFragment = new BshdzhFragment();
private ZhqrlFragment zhqrlFragment = new ZhqrlFragment(); private static final int TAB_INDEX_COUNT = 2; private static final int TAB_INDEX_ONE = 0;
private static final int TAB_INDEX_TWO = 1; public BshToolsViewPagerAdapter(FragmentManager fm, Context context) {
super(fm);
this.mContext = context;
} @Override
public Fragment getItem(int arg0) {
switch (arg0) {
case TAB_INDEX_ONE:
return bshdzhFragment;
case TAB_INDEX_TWO:
return zhqrlFragment;
}
throw new IllegalStateException("No fragment at position " + arg0);
} @Override
public int getCount() {
return TAB_INDEX_COUNT;
} @Override
public CharSequence getPageTitle(int position) {
String tabLabel = null;
switch (position) {
case TAB_INDEX_ONE:
tabLabel = this.mContext.getString(R.string.tab_1);
break;
case TAB_INDEX_TWO:
tabLabel = this.mContext.getString(R.string.tab_2);
break;
}
return tabLabel;
}
}
6:activity_bsh_tools.xml
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".BshToolsActivity" > <android.support.v4.view.ViewPager
android:id="@+id/pagerBshTools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</android.support.v4.view.ViewPager> </RelativeLayout>
7:BshToolsActivity.java
public class BshToolsActivity extends FragmentActivity implements ActionBar.TabListener {
private ViewPager mViewPager = null;
private BshToolsViewPagerAdapter mViewPagerAdapter = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bsh_tools); setUpActionBar();
setUpViewPager();
setUpTabs();
} //启用ActionBar
private void setUpActionBar() {
final ActionBar actionBar = getActionBar();
//设置ActionBar背景
//Drawable draw=this.getResources().getDrawable(R.drawable.ic_action_bar_bg);
//actionBar.setBackgroundDrawable(draw);
//启用ActionBar Tab
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//启用ActionBar的Home按键
actionBar.setDisplayHomeAsUpEnabled(true);
} //设置ViewPager
private void setUpViewPager(){
mViewPagerAdapter = new BshToolsViewPagerAdapter(getSupportFragmentManager(),this);
mViewPager = (ViewPager)findViewById(R.id.pagerBshTools);
mViewPager.setAdapter(mViewPagerAdapter);
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
final ActionBar actionBar = getActionBar();
actionBar.setSelectedNavigationItem(position);
} @Override
public void onPageScrollStateChanged(int state) {
switch(state) {
case ViewPager.SCROLL_STATE_IDLE: //0空闲
break;
case ViewPager.SCROLL_STATE_DRAGGING: //1在滑行中
break;
case ViewPager.SCROLL_STATE_SETTLING: //2目标加载完
break;
default:
break;
}
}
});
} //设置Tab标签内容
private void setUpTabs(){
final ActionBar actionBar = getActionBar();
for (int i = 0; i < mViewPagerAdapter.getCount(); ++i) {
actionBar.addTab(actionBar.newTab()
.setText(mViewPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.bsh_tools, menu);
return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case android.R.id.home:
this.finish();
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
return true;
default:
return super.onOptionsItemSelected(item);
}
} @Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
} @Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
mViewPager.setCurrentItem(tab.getPosition());
} @Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
8:运行效果:
ActionBar +Tab+ViewPager +Fragment 支持侧滑动完成办税工具的页面展示的更多相关文章
- 仿百度壁纸客户端(一)——主框架搭建,自定义Tab+ViewPager+Fragment
仿百度壁纸客户端(一)--主框架搭建,自定义Tab+ViewPager+Fragment 百度壁纸系列 仿百度壁纸客户端(一)--主框架搭建,自定义Tab + ViewPager + Fragment ...
- Android典型界面设计(6)——ActionBar Tab+ViewPager+Fagment实现滑动导航
一.问题描述 在Android典型界面设计一文中,实现典型滑动导航界面,其实使用ActionBar 也可以轻松实现这一效果,甚至也可实现类似Android典型界面设计(3)的双导航效果.可见Actio ...
- Android tab导航的几种方法:ActionBar tab +fragment,Viewpager+pagerTitleStrip,开源框架ViewPageIndicator 和 ViewPager
action来实现tab标签 并跟fragment结合 因为要写新闻客户端这个tab导航是必须的 这里我写几个小练习,希望大家融会贯通. 1actionbar设置tab +fragment 布局是个l ...
- 低版本系统兼容的ActionBar(四)添加Tab+添加自定义的Tab视图+Fragment
在ActionBar中添加Tab是很有用的技巧.在support V7库的支持下,我们几乎可以用和之前一样的方式来添加Tab,对于Tab来说,我们可以和MenuItem一样,给他定义自己的视图.我这里 ...
- Android两种为ViewPager+Fragment添加Tab的方式
在Android开发中ViewPager的使用是非常广泛的,而它不仅仅能够实现简单的开始引导页,还可以结合Fragment并添加Tab作为选项卡或为显示大批量页面实现强大的顺畅滑动 下面介绍两种为Vi ...
- 安卓开发之使用viewpager+fragment实现滚动tab页
闲着.用viewpager+fragment实现了个滚动tab..轻拍,以后会陆续发先小东西出来..爱分享,才快乐.demo见附件.. package com.example.demo; import ...
- 15 ActionBar.Tab 以及保存fragment对象 代码案例
API 21弃用 values 中 string文件源码: <?xml version="1.0" encoding="utf-8"?> <r ...
- Android3.0 以前的Fragment支持
Fragment非常实用,Android也为3.0以前的平台增加了Fragment支持,只是该Fragment不是继承android.app.Fragment,而是继承android.support. ...
- Android ActionBar与ViewPager合用
内容可以左右滑动,因为使用了ViewPager(我这里用了V4包) view_pager_main.xml <?xml version="1.0" encoding=&quo ...
随机推荐
- Linux企业级项目实践之网络爬虫(27)——多路IO复用
与多线程和多进程相比,I/O多路复用的最大优势是系统开销小,系统不需要建立新的进程或者线程,也不必维护这些线程和进程. 主要应用: (1)客户程序需要同时处理交互式的输入和服务器之间的网络连接 (2) ...
- Redis分布式缓存 教程以及DEMO
原文地址:http://blog.csdn.net/qiujialongjjj/article/category/1800171 redis demo源码下载:http://download.csdn ...
- HDU5196--DZY Loves Inversions 树状数组 逆序数
题意查询给定[L, R]区间内 逆序对数 ==k的子区间的个数. 我们只需要求出 子区间小于等于k的个数和小于等于k-1的个数,然后相减就得出答案了. 对于i(1≤i≤n),我们计算ri表示[i,ri ...
- DVP
债券结算方式是指在债券结算业务中,债券的所有权转移或权利质押与相应结算款项的交收这两者执行过程中的不同制约形式.中央债券簿记系统中所设计的结算方式有:纯券过户.见券付款.见款付券.券款对付(DVP)四 ...
- iOS之UITableView带滑动操作菜单的Cell
制作一个可以滑动操作的 Table View Cell 本文翻译自 http://www.raywenderlich.com/62435/make-swipeable-table-view-cell- ...
- 让iframe调用页面的背景透明
需求:在一个div里面嵌套一个iframe(src="ui.html"),div有背景图片,要让iframe里的内容透明地显示在div层上. 刚开始直接把iframe放在div中, ...
- appium 并发测试
Android并发测试 Appium提供了在一台设备上启动多个Android会话的方案,而这个方案需要你输入不同的指令来启动多个Appium服务来实现. 启动多个Android会话的重要指令包括: - ...
- C#中对于接口的实现方式
转载: C#中对于接口的实现方式有隐式接口和显式接口两种: 隐式地实现接口成员创建一个接口,IChinese,包含一个成员 Speak;我们创建一个类Speaker,实现接口Chinese //隐藏式 ...
- StringBuffer学习笔记
StringBuffer是什么? StringBuffer是使用缓冲区的,本身也是操作字符串的,它是一个具体的操作类.与String类不同的是,它其中的内容是可以改变的.它不能像String那样采用直 ...
- Android软键盘强制弹出,隐藏输入法.
本文实例讲述了Android实现弹出键盘代码,是一个非常实用的功能.代码非常简洁.分享给大家供大家参考. 具体功能代码如下: ? 1 2 3 4 5 6 7 8 Timer timer = new T ...