Android快速SDK(18)Tab页面TabPager【傻瓜模式】
来源:互联网 发布:sql将string转int 编辑:程序博客网 时间:2024/05/16 13:59
代码:http://download.csdn.net/detail/huangbin95487710/9260383
依赖包模式
完整运行还需要用到以下依赖包
- Android快速SDK(1)基础工具库QuickBase
- Android快速SDK(22)友盟升级统计库UmengUpdate【肌肉记忆,分钟接入】
基于ViewPager装载在SlidingMenu内适用
- 新特性配置支持
- 配置Tab样式
- 空白
- 下划线
- 三角型
- 下划线+三角型
- 三角型+下划线
<!-- 下标的样式 --><attr name="footerstyle"><enum name="none" value="0" /><enum name="triangle" value="1" /><enum name="underline" value="2" /><enum name="underlinetriangle" value="3" /><enum name="triangleunderline" value="4" /></attr>- 右竖线
- 配置一行最大摆放Tab数量
- 配置居中摆放或全屏
- 配置Tab文字颜色
- 配置Tab背景颜色
- 配置下划线样式
- 默认样式
<style name="DivTabPager"> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">wrap_content</item> <item name="android:gravity">center</item> <item name="android:background">#ffeeeded</item> <!-- 背景颜色与选中颜色,#00ffffff程序代码不会执行,只会根据android:background进行系统设置 --> <item name="tadBgColor">#00ffffff</item> <item name="tadBgSelectedColor">#00ffffff</item> <item name="android:dividerPadding">10dp</item> <item name="android:showDividers">middle</item> <item name="android:fadingEdge">horizontal</item> <item name="android:fadingEdgeLength">1dp</item> <!-- 右边竖线 --> <item name="rightline">true</item> <!-- 右边竖线对应的资源ID --> <item name="rightlineid">@drawable/tabpager_tab_line_right</item> <item name="footerstyle">underline</item> <!-- 一行最大的个数 --> <item name="maxrownum">0</item> <!-- 标题栏目的样式 --> <item name="textviewstyle">@style/Widget.TextView.TabPager</item> <!-- 简介的样式 --> <item name="textviewinfostyle">@style/Widget.TextView.TabPagerInfo</item> </style> <style name="DivUnderline"> <item name="android:layout_height">3dip</item> <item name="android:layout_width">fill_parent</item> <item name="selectedColor">#FF3b68b0</item> <item name="android:background">#ffeeeded</item> <item name="space">4</item> <item name="fadeLength">1000</item> <item name="fadeDelay">1000</item> </style>- 若需要更改Tab文字颜色,请复制color/tabpager_indicator_text.xml到目标项目
- 示例代码
- 布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <General.View.TabPager.TabPageIndicator android:id="@id/tab_indicator" style="@style/MyDivTabPagerTriangle" /> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFffffff" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@id/pager" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout> <General.View.TabPager.UnderlinePageIndicatorEx android:id="@id/underline_indicator" style="@style/MyDivUnderlineTriangle" /> </FrameLayout></LinearLayout> <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp" android:textColor="#FFffffff" android:layout_gravity="center" android:text="hello world" /></LinearLayout>- 自定义样式
<?xml version="1.0" encoding="utf-8"?><resources xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 重写样式 ,三角形.无竖线.一行3个 --> <style name="MyDivTabPagerTriangle" parent="@style/DivTabPager"> <item name="footerstyle">triangle</item> <item name="rightline">false</item> <item name="maxrownum">3</item> </style> <style name="MyDivUnderlineTriangle" parent="@style/DivUnderline"> <item name="android:layout_height">6dip</item> <item name="selectedColor">#FFeeeded</item> <item name="android:background">#FFffffff</item> </style> <!-- 重写样式 ,下划线.竖线.一行3个 --> <style name="MyDivTabPagerNormal" parent="@style/DivTabPager"> <item name="footerstyle">underline</item> <item name="rightline">true</item> <item name="maxrownum">3</item> </style> <style name="MyDivUnderlineNormal" parent="@style/DivUnderline"> <item name="android:layout_height">2dip</item> </style> <!-- 重写样式 ,居中三个 --> <style name="MyDivTabPagerCenter" parent="@style/DivTabPager"> <item name="footerstyle">underline</item> <item name="rightline">true</item> <item name="maxrownum">0</item> </style> <style name="MyDivUnderlineCenter" parent="@style/DivUnderline"> <item name="android:layout_height">2dip</item> </style> <!-- 重写样式 --> <style name="Widget.TextView.TabPager.Div" parent="@style/Widget.TextView.TabPager"> <item name="android:textColor">@color/test_tabpager_indicator_text</item> <item name="android:textSize">15sp</item> </style> <style name="MyDivTabPager" parent="@style/DivTabPager"> <item name="android:layout_width">fill_parent</item> <item name="android:background">#FFfdfdfd</item> <item name="textviewstyle">@style/Widget.TextView.TabPager.Div</item> </style> <style name="MyDivUnderline" parent="@style/DivUnderline"> <item name="android:layout_height">2dip</item> <item name="selectedColor">#FF005cff</item> <item name="android:background">#FFfdfdfd</item> </style></resources>- 代码
- TabPager.java
package cn.whonow.whonow.tabpager;import java.util.ArrayList;import java.util.List;import General.Listener.PagerListener;import General.Listener.PagerMarginListener;import General.System.MyLayout;import General.View.TabPager.ContentFrameAdapter;import General.View.TabPager.TabPageIndicator;import General.View.TabPager.UnderlinePageIndicatorEx;import General.View.TabPager.Base.FragmentItemBase;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android.support.v4.view.ViewPager;import android.view.View;import cn.whonow.whonow.R;public class TabPager extends FragmentActivity implements PagerListener,PagerMarginListener {public static void startTabPager(Context context, int mLayoutID) {Intent intent = new Intent();intent.putExtra(KEY_LAYOUT, mLayoutID);intent.setClass(context, TabPager.class);context.startActivity(intent);}private static final String KEY_LAYOUT = "key_layout";public List<FragmentItemBase> mFragmentItemList = new ArrayList<FragmentItemBase>();public ContentFrameAdapter mContentAdapter;public ViewPager mPager;private TabPageIndicator mTabPageIndicator;private UnderlinePageIndicatorEx mUnderlinePageIndicator;private int pagerIndex = 0;private int mLayoutId;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Bundle mBundle = getIntent().getExtras();if (mBundle != null) {mLayoutId = mBundle.getInt(KEY_LAYOUT, -1);}if (mLayoutId > 0)setContentView(mLayoutId);elsesetContentView(R.layout.test_tabpager_triangle);initPager();}public void initPager() {TabPagerItem mPagerItem1 = new TabPagerItem("测试1");TabPagerItem mPagerItem2 = new TabPagerItem("测试2");TabPagerItem mPagerItem3 = new TabPagerItem("测试3");mFragmentItemList.add(mPagerItem1);mFragmentItemList.add(mPagerItem2);mFragmentItemList.add(mPagerItem3);if (mLayoutId != R.layout.test_tabpager_center) {TabPagerItem mPagerItem4 = new TabPagerItem("测试4");TabPagerItem mPagerItem5 = new TabPagerItem("测试5");mFragmentItemList.add(mPagerItem4);mFragmentItemList.add(mPagerItem5);}mContentAdapter = new ContentFrameAdapter(getSupportFragmentManager(),this);mContentAdapter.setContentList(mFragmentItemList);mPager = (ViewPager) findViewById(R.id.pager);mPager.setAdapter(mContentAdapter);mTabPageIndicator = (TabPageIndicator) findViewById(R.id.tab_indicator);mTabPageIndicator.setScreenWidth(MyLayout.getScreenWidth(this));mTabPageIndicator.setViewPager(mPager, this);mTabPageIndicator.setCurrentItem(pagerIndex);mUnderlinePageIndicator = (UnderlinePageIndicatorEx) findViewById(R.id.underline_indicator);mUnderlinePageIndicator.setOnPagerMarginListener(this);mUnderlinePageIndicator.setViewPager(mPager);mUnderlinePageIndicator.setFades(false);mUnderlinePageIndicator.setCurrentItem(pagerIndex);mUnderlinePageIndicator.setTabPageIndicator(mTabPageIndicator);mTabPageIndicator.setOnPageChangeListener(mUnderlinePageIndicator);mFragmentItemList.get(pagerIndex).mIsDefault = true;if (mFragmentItemList.size() <= 1) {// 小于等于一个的时候隐藏mTabPageIndicator.setVisibility(View.GONE);mUnderlinePageIndicator.setVisibility(View.GONE);}}@Overridepublic void onPageSelected(int arg0) {// TODO Auto-generated method stub}@Overridepublic void onLeftMargin() {// TODO Auto-generated method stub}@Overridepublic void onRightMargin() {// TODO Auto-generated method stub}}- TabPagerItem.java
package cn.whonow.whonow.tabpager;import General.View.TabPager.Base.FragmentItemBase;import cn.whonow.whonow.R;public class TabPagerItem extends FragmentItemBase {public TabPagerItem(String mTitle) {super(mTitle);}@Overridepublic void initFuntion() {// TODO Auto-generated method stubsuper.setLayoutId(R.layout.test_tabpager_item);super.openTabReload();}@Overridepublic void reload() {init();}@Overridepublic void initView() {// mList = (MyListView) mItemView.findViewById(android.R.id.list);// mList.setOnItemClickListener(this);}private void init() {}@Overridepublic boolean isCheckLog() {// TODO Auto-generated method stubreturn true;}}- 效果图
0 0
- Android快速SDK(18)Tab页面TabPager【傻瓜模式】
- Android快速SDK(8)毛玻璃效果BlurView【傻瓜模式】
- Android快速SDK(9)下载库DownLoad【傻瓜模式】
- Android快速SDK(10)地址库Location【傻瓜模式】
- Android快速SDK(15)二维码扫描Scanner【傻瓜模式】
- Android快速SDK(16)摇一摇Shake【傻瓜模式】
- Android快速SDK(7)图像加载库ImageLoader【傻瓜模式】
- Android快速SDK(11)圆弧菜单库PathView【傻瓜模式】
- Android快速SDK(12)文本pdf阅读器PdfViewer【傻瓜模式】
- Android快速SDK(13)拍照裁剪库PhotoGraph【傻瓜模式】
- Android快速SDK(17)左右滑动菜单SlidingMenu【傻瓜模式】
- Android快速SDK(19)录音播放库SoundRecorder【傻瓜模式】
- Android快速SDK(20)视频播放器VideoPlayerE【傻瓜模式】
- Android 利用TabLayout快速打造滑动Tab页面
- android滑动TAB页面
- Android快速SDK(3)数据库Sqlite
- Android快速SDK(4)对话框AlertDialog
- 快速更新Android sdk
- UIView全部API
- ie浏览器 谷歌浏览器,div 滚动条样式
- Git学习札记——进阶
- iOS 之 App 第一次启动 app 使用欢迎页
- 前端开发问题(CSS部分)
- Android快速SDK(18)Tab页面TabPager【傻瓜模式】
- MindMapper思维导图如何进行合并
- 触发器相互转换-20151109
- 无线驱动
- poj 3164 朱刘算法(最小树形图)
- [iOS基础]关于Mail的一切
- git使用
- linux命令:vim
- Jquery弹出Alert,Confirm,Prompt对话窗