<android.support.design.widget.TabLayout/>
android 材料设计中新出的控件
package com.weavey.loadinglayout;

import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.ViewPager; import com.weavey.fragment.TabContentFragment1; import java.util.ArrayList; /**
* Android TabLayout 一个滑动标签页
*/ public class TabLayoutActivity extends FragmentActivity {
private TabLayout mTabTl;
private ViewPager mContentVp;
private ArrayList<String> tabIndicators;
private ArrayList<Fragment> tabFragments;
private ContentPagerAdapter contentAdapter; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_tablyout);
setView();
setListener();
//设置内容
setContent();
//设置TAB 选项卡
setTab();
} private void setTab() {
mTabTl.setTabMode(TabLayout.MODE_FIXED);
mTabTl.setTabTextColors(ContextCompat.getColor(this, android.R.color.holo_red_dark), ContextCompat.getColor(this, android.R.color.white));
//设置线条的颜色
// mTabTl.setSelectedTabIndicatorColor(ContextCompat.getColor(this, android.R.color.holo_green_dark));
//设置 tab之间的间距 px
ViewCompat.setElevation(mTabTl, 10);
//关联相对应的viewPager
mTabTl.setupWithViewPager(mContentVp);
} private void setContent() {
tabIndicators = new ArrayList<>();
for (int i = 0; i < 3; i++) {
tabIndicators.add("Tab " + i);
}
tabFragments = new ArrayList<>();
for (String s : tabIndicators) {
tabFragments.add(TabContentFragment1.newInstance(s));
}
contentAdapter = new ContentPagerAdapter(getSupportFragmentManager());
mContentVp.setAdapter(contentAdapter);
} private void setView() {
mTabTl = (TabLayout) findViewById(R.id.tl_tab);
mContentVp = (ViewPager) findViewById(R.id.vp_content);
} private void setListener() { } class ContentPagerAdapter extends FragmentPagerAdapter { public ContentPagerAdapter(FragmentManager fm) {
super(fm);
} @Override
public Fragment getItem(int position) {
return tabFragments.get(position);
} @Override
public int getCount() {
return tabIndicators.size();
} //设置标签指示器的标题
@Override
public CharSequence getPageTitle(int position) {
return tabIndicators.get(position);
} }
} 详见:http://www.jianshu.com/p/39a66373498c 更加详细 http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0731/3247.html 包括自定义封装tablayout 可以进行很多的设置
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="tabMaxWidth">80dp</item> tablayout 最大的宽度
<item name="tabIndicatorColor">?attr/colorAccent</item> 指示器的颜色
<item name="tabIndicatorHeight">12dp</item> 指示器的高度
<item name="tabPaddingStart">12dp</item> tab 左边距
<item name="tabPaddingEnd">12dp</item> 右边距
<item name="tabBackground">@android:color/holo_blue_bright</item> tablayout 背景颜色
<item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item> 设置字体样式
<item name="tabSelectedTextColor">?android:textColorPrimary</item>
</style>
<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
<item name="android:textSize">14sp</item> 设置指示器中字体的大小
<item name="android:textColor">?android:textColorSecondary</item> 设置指示器中字体的颜色
    <item name="textAllCaps">true</item>  是否强制将字体变成大写
</style>

android 指示器 tablatyout的更多相关文章

  1. Android 自定义控件玩转字体变色 打造炫酷ViewPager指示器

    1.概述 本篇博客的产生呢,是因为,群里的哥们暖暖给我发了个效果图,然后问我该如何实现顶部ViewPager指示器的字体变色,该效果图是这样的: 大概是今天头条的app,神奇的地方就在于,切换View ...

  2. Android中启动页ViewPager和ViewFlipper带指示器

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   首先我们来分析一下,想要实现启动页的功能,大家第一个想到的就是使用ViewPager,使用ViewPager确实是一种比 ...

  3. Android自定义指示器时间轴

    指示器时间轴在外卖.购物类的APP里会经常用到,效果大概就像下面这样,看了网上很多文章,大都是自己绘制,太麻烦,其实通过ListView就可以实现.   在Activity关联的布局文件activit ...

  4. Android万能的指示器

    说到 ViewPager 指示器,想必大家都不陌生,绝大部分应用中都有这个.使用频率非常之高.但系统对它的支持并不好,自带的 PagerTabStrip 和 PagerTitleStrip 太弱,很难 ...

  5. Android Launcher分析和修改11——自定义分页指示器(paged_view_indicator)

    Android4.0的Launcher自带了一个简单的分页指示器,就是Hotseat上面那个线段,这个本质上是一个ImageView利用.9.png图片做,效果实在是不太美观,用测试人员的话,太丑了. ...

  6. Android开发-各种各样好看漂亮的进度条,指示器,加载提示汇总

    导读:之前项目中用到一些进度条,找了不少,打算写个demo自己总结一下,留着以后用, 有些是自己写的,有些是github上找的别人的库,如果大家觉得好看可以用,直接下载复制代码到项目里就可以用,ok ...

  7. android 中 viewpager 滑动的指示器

    先看下效果图: 这个需要用到1个开源的 库,这个后面也会说下的. 工程目录: 1. MainActivity.java public class MainActivity extends Fragme ...

  8. Android流行界面结构——Fragment通过ViewPager(带指示器)嵌套Fragment结构的创建方法详解

    原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6287213.html 当前Android流行界面结构的一种——Fragment通过ViewPage ...

  9. Android MagicIndicator系列之一 —— 使用MagicIndicator打造千变万化的ViewPager指示器

    说到 ViewPager 指示器,想必大家都不陌生,绝大部分应用中都有这个.使用频率非常之高.但系统对它的支持并不好,自带的 PagerTabStrip 和 PagerTitleStrip 太弱,很难 ...

随机推荐

  1. js : json和 cookie 的简单操作

    使用 cookie,可以记录用户的最近的浏览历史 <!DOCTYPE HTML> <html lang="zh-cn"> <head> < ...

  2. 1012. The Best Rank (25)

    To evaluate the performance of our first year CS majored students, we consider their grades of three ...

  3. VR视频外包公司(长年承接虚拟全景外包、虚拟现实视频外包)

    承接VR视频外包(虚拟全景外包),虚拟现实视频外包(北京公司) 我们制作各类型VR全景虚拟现实,增强现实视频制作.录制等项目! 品质保证,售后完备. 我们团队成立于2011年10月,是一个专业从事严肃 ...

  4. 转载分享----一线交付眼中的为何"项目总是迟迟无法交付”

    当初博主在一线交付BOSS系统中承担过TC角色 交付的路途很艰辛,加班到10点多或1点多第二天8点上班,还有通宵的日子 还有无数个问题从开始到关闭的周期,各种催人,各种掐架拉会,各种被甲方嫌弃 看到这 ...

  5. ThinkPHP开启事物

    $m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->startTrans();//在第一个模型里启用就可以了,或者第二个也行 $result= ...

  6. C# 文件类型

    C# 中一些常用文件类型: designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中).VS2003以前都把这部分代码放 ...

  7. VMWARE里启动kylin16.0时出现'SMBus Host Controller not enabled'(还未进入系统)

    在Vmware里安装完Ubuntu16.10,启动时出现'SMBus Host Controller not enabled'错误提示,进不到图形界面.网上搜了一下,解决办法是在图形界面里进终端窗口, ...

  8. 高德地图JavaScript开发

    项目需求:标注一个或者两个点.显示信息窗体.自定义icon <!DOCTYPE html> <html lang="en"> <head> &l ...

  9. lamp搭建,thinkphp安装

    有几天没有记录学习进度了,简单回顾一下:前天由于不熟悉linux的安装操作,以及遇上了各种问题花了将近6小时搭建好了lamp,然而在中途学习修改配置时误改了启动的图形文件,导致了昨天开机时图形界面无法 ...

  10. Python学习笔记之条件、循环和其他语句

    一.函数导入 1.为模块提供别名 >>> import math as foobar #设置math 别名为foobar >>> foobar.sqrt(4) 显示 ...