第一步 添加依赖
dependencies {
compile 'com.yinglan.alphatabs:library:1.0.5'
}
第二步 布局使用
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
tools:context=".hometype.FragmentViewPagerActivity"> <android.support.v4.view.ViewPager
android:id="@+id/vp_home"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/tv_line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_above="@+id/rl_bottom"
android:background="@color/light_gray"
/> <RelativeLayout
android:id="@+id/rl_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#fff"
android:paddingBottom="2dp"
android:paddingTop="4dp">
<com.yinglan.alphatabs.AlphaTabsIndicator
android:id="@+id/alphaIndicator"
android:layout_width="match_parent"
android:layout_height="55dp"
android:orientation="horizontal"> <com.yinglan.alphatabs.AlphaTabView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="5dp"
android:id="@+id/alphaTabView"
app:tabIconNormal="@drawable/student_icon"
app:tabIconSelected="@drawable/student_icon_show"
app:tabText="页面一"
app:tabTextSize="14sp"
app:textColorNormal="@color/gray"
app:textColorSelected="@color/base_color"
app:badgeBackgroundColor="@color/color_primary_red"/>
<com.yinglan.alphatabs.AlphaTabView android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="5dp" app:tabIconNormal="@drawable/home_drive"
app:tabIconSelected="@drawable/home_drive_light"
app:tabText="页面二"
app:tabTextSize="14sp"
app:textColorNormal="@color/gray"
app:textColorSelected="@color/base_color"
/> <com.yinglan.alphatabs.AlphaTabView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:padding="5dp"
app:tabIconNormal="@drawable/order_iocn"
app:tabIconSelected="@drawable/order_iocn_show"
app:tabText="页面三"
app:tabTextSize="14sp"
app:textColorNormal="@color/gray"
app:textColorSelected="@color/base_color"
/>
</com.yinglan.alphatabs.AlphaTabsIndicator>
</RelativeLayout>
</RelativeLayout>
说明
配置参数 | 参数含义 |
---|---|
tabIconNormal | 未选中的图标 |
tabIconSelected | 已经选中的图标 |
tabText | tab标签的文字 |
tabTextSize | tab标签的文字大小 |
textColorNormal | 未选中的文字颜色 |
textColorSelected | 已选中的文字颜色 |
badgeBackgroundColor | 角标背景色,默认红色 |
第三步 代码编写:
import android.support.v4.view.ViewPager;
import android.view.View; import com.loaderman.samplecollect.R;
import com.loaderman.samplecollect.activity.BaseActivity;
import com.loaderman.samplecollect.adapter.MyPagerAdapter;
import com.loaderman.samplecollect.constants.FragmentNameTagConstants;
import com.yinglan.alphatabs.AlphaTabView;
import com.yinglan.alphatabs.AlphaTabsIndicator;
import com.yinglan.alphatabs.OnTabChangedListner; public class FragmentViewPagerActivity extends BaseActivity implements View.OnClickListener { private ViewPager vpHome;
private AlphaTabView mAlphaTabView; @Override
public int getLayout() {
return R.layout.activity_fragment_view_pager2;
} @Override
public void initView() {
ivLeft.setVisibility(View.GONE);
vpHome = (ViewPager) findViewById(R.id.vp_home);
AlphaTabsIndicator mAlphaTabsIndicator = findViewById(R.id.alphaIndicator);
mAlphaTabView = findViewById(R.id.alphaTabView);
vpHome.setOffscreenPageLimit(5);
MyPagerAdapter homeAdapter = new MyPagerAdapter(getSupportFragmentManager());
vpHome.setAdapter(homeAdapter);
mAlphaTabsIndicator.setViewPager(vpHome);
// mAlphaTabView.showNumber(55); //显示数字角标
mAlphaTabView.showPoint(); //显示小红点
// mAlphaTabView.removeShow(); //移除当前角标
mAlphaTabsIndicator.setOnTabChangedListner(new OnTabChangedListner() {
@Override
public void onTabSelected(int tabNum) {
updateTitleBar(tabNum);
}
}); //设置底部tab点击监听
mAlphaTabsIndicator.setTabCurrenItem(0); //设置tab选项
updateTitleBar(FragmentNameTagConstants.HOME_0_TAG);
// mAlphaTabsIndicator.removeAllBadge(); //移除所有tab的角标
} private void updateTitleBar(int position) {
switch (position) {
case FragmentNameTagConstants.HOME_0_TAG:
tvCenter.setText(getResources().getString(R.string.home_0));
mAlphaTabView.showNumber(555); //显示数字角标
break;
case FragmentNameTagConstants.HOME_1_TAG:
tvCenter.setText(getResources().getString(R.string.home_1)); break;
case FragmentNameTagConstants.HOME_2_TAG:
tvCenter.setText(getResources().getString(R.string.home_2));
break;
}
} @Override
public void initData() { } @Override
public void initListener() { vpHome.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override
public void onPageSelected(int position) { updateTitleBar(position);
} @Override
public void onPageScrollStateChanged(int state) { }
});
} @Override
public void initNetConnectionOkData() { } @Override
public void initNetConnectionErrData() { } @Override
public void onClick(View view) {
int position = (Integer) view.getTag();
// 点击底部某一项的时候将ViewPager切换到那个界面
vpHome.setCurrentItem(position, false);
updateTitleBar(position);
}
}
效果图
Android仿微信底部选项卡的更多相关文章
-
Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
仿照微信,朋友圈分享图片功能 .可以进行图片的多张选择,拍照添加图片,以及进行图片的预览,预览时可以进行缩放,并且可以删除选中状态的图片 .很不错的源码,大家有需要可以下载看看 . 微信 微信 微信 ...
-
Android 仿微信小视频录制
Android 仿微信小视频录制 WechatShortVideo和WechatShortVideo文章
-
Android仿微信界面
效果图 原理介绍 1.先绘制一个颜色(例如:粉红) 2.设置Mode=DST_IN 3.绘制我们这个可爱的小机器人 回答我,显示什么,是不是显示交集,交集是什么?交集是我们的小机器人的非透明区域,也就 ...
-
Android仿微信拍摄短视频
近期做项目需要添加上传短视频功能,功能设置为类似于微信,点击开始拍摄,设置最长拍摄时间,经过研究最终实现了这个功能,下面就和大家分享一下,希望对你有帮助. 1.视频录制自定义控件: /** * 视频播 ...
-
android仿微信红包动画、Kotlin综合应用、Xposed模块、炫酷下拉视觉、UC浏览器滑动动画等源码
Android精选源码 仿微信打开红包旋转动画 使用Kotlin编写的Android应用,内容你想象不到 Android手机上的免Root Android系统日志Viewer 一个能让微信 Mater ...
-
Android UI-仿微信底部导航栏布局
现在App基本的标配除了侧滑菜单,还有一个就是底部导航栏,常见的聊天工具QQ,微信,购物App都有底部导航栏,用户可以随便切换看不同的内容,说是情怀也好,用户体验也罢.我们开发的主要的还是讲的是如何如 ...
-
Android仿微信高效压缩图片(libjpeg)
用过ios手机的同学应该很明显感觉到,ios拍照1M的图片要比安卓拍照排出来的5M的图片还要清晰.这是为什么呢? 这得了解android底层是如何对图片进行处理的. 当时谷歌开发Android的时候, ...
-
Android 仿微信朋友圈添加图片
github地址(欢迎下载Demo) https://github.com/zhouxu88/WXCircleAddPic *惯,先上图,着急用的朋友,直接带走Demo,先拿来用吧,毕竟老板催的紧, ...
-
html css 仿微信底部自己定义菜单
近期几个月一直从事微信开发,从刚開始的懵懂渐渐成长了一点. 今天认为微信底部自己定义菜单,假设能在html的页面上也能显示就好了. 记得曾经看过某个网页有类似效果.查找了该网页的css. ok如今h ...
随机推荐
-
Bzoj2753 [SCOI2012]滑雪与时间胶囊
2753: [SCOI2012]滑雪与时间胶囊 Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 2282 Solved: 796 Descriptio ...
-
四则运算(Android版)
MainActivity: package com.example.demon; import android.os.Bundle; import android.app.Activity; impo ...
-
WordPress的SEO技术
原文:http://blog.wpjam.com/article/wordpress-seo/ 文章目录[隐藏] 内容为王 页面优化 标题 链接(URL) Meta 标签 语义化 H1 H2 H3 等 ...
-
2014年9月21日_随笔,jdic,ETL,groovy,Nutz好多东西想学
(1)老妈十一要回老家,才突然发现买票好难啊.有亲朋很重要 (2)这周我做了什么.jdic,ETL,groovy, Nutz好多东西想学. Nutz开发成员专访.Nutz优酷视频(演讲).Nutz 入 ...
-
android开发之定制ViewPager滑动事件
明天还要加班,苦逼的程序猿,简单说说最近遇到的一个问题吧. 我在viewpager+fragment学习笔记中简单介绍过ViewPager+Fragment的用法,其实并不难,当时实现了一个如下图所示 ...
-
hackme.inndy.tw - pyyy - Writeup
hackme.inndy.tw - pyyy - Writeup 0x01 反编译 1.第一次尝试的时候我直接在线反编译,部分结果如下. for (i, f) in enumerate(F): n = ...
-
Win7下,nginx默认80端口被System占用,造成nginx启动报错
在win7 32位旗舰版下,启动1.0.8版本nginx,显示如下错误: 2012/04/02 13:55:59 [emerg] 7864#2376: bind() to 0.0.0.0:80 fai ...
-
easyui datagrid 动态改变行背景色
/*根据查询条件查询调度单列表*/ function InitGrid(queryData) { $("#dg").datagrid({ loadMsg: "数据加载中, ...
-
常用linux命令及shell脚本
参考:Linux命令大全 分割大文件 Split命令 按行分割(只能是文本文件) $split -l 1000 big_file 前缀 按文件大小分割 $split -b 64m big_file 前 ...
-
java多线程读取、操作List集合
import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.ArrayUtils; pub ...