android 指示器 tablatyout

<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>
时间: 2024-10-10 06:15:40

android 指示器 tablatyout的相关文章

基于Android的计步器(Pedometer)的讲解(五)——跟随界面滑动的指示器

计步器(Pedometer)整个项目的源代码,感兴趣的朋友可以下载来看看(记得帮小弟在github打个星~) https://github.com/296777513/pedometer 今天,说下指示器随着界面滑动,可能这样说不太直观,我先附上几张效果图: 如图所示,中间部分为一个ViewPager(可以滑动的页面),大家可以看到屏幕的顶部,字体下面有一个指示器, 当页面向右滑动时,指示器也会随着界面动态的向右滑动,当页面停在第二个页面时,字体也会变为蓝色. 下来给大家贴出主要的代码: pac

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

原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6287213.html 当前Android流行界面结构的一种--Fragment通过ViewPager嵌套Fragment结构目前非常常用,在本篇文章中, 我们一步一步将其创建出来,非常详细的让大家看到这个界面是如何实现的,下面我们开始吧. 首先我们看一下最终的效果动画,以便大家有个最初的印象. 本文章专注于功能的实现,并没有着重于界面的美观,所以大家看到的效果一般,UI效果需要大家进一步修改.

android 自定义View弯曲滑竿指示器

android 自定义弯曲滑竿指示器 效果说明:滑竿指示器,是一段弯曲的圆弧,要求在杆上,有滑动小球事件,小球会根据下标文字的起始角度与终止角度,是否选择滑倒下一个位置.当点击下标文字时,小球也要做出相应的指示. 1)MainActivity package com.example.chenkui.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import and

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

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

打造Android 最实用的ViewPager 指示器控件

为什么我说它是最实用的 ViewPager 指示器控件呢? 它有以下几个特点: 1.通过自定义 View 来实现,代码简单易懂: 2.使用起来非常方便: 3.通用性高,大部分涉及到 ViewPager 指示器的地方都能使用此控件: 4.实现了两种指示器效果(具体请看效果图) 一.先来看效果图 传统版指示器的效果图: 流行版指示器的效果 二.分析 如果单纯的要实现此功能,相信,大家都能实现,而我也不会拿出来这里讲了,这里我是要把它打造成一个控件,通俗一点讲就是,在以后可以直接拿来用,而不需要修改代

android改动tab 导航 指示器颜色

我事实上想改动的上面的蓝色条条,改成红色. 这个问题实在是困扰我了太长时间.之前參照google的这个文章: https://developer.android.com/training/basics/actionbar/styling.html 可是事与愿违,我发现居然连我整个tab颜色都改了. 认为非常奇怪,为什么google给的方法是改动整个tab?难道google搞错了? 网上找了非常久,发现非常多人都在问这个问题,而实际解决的人非常少.偶尔有几个解决的,也是採用google的那个方法.

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

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 首先我们来分析一下,想要实现启动页的功能,大家第一个想到的就是使用ViewPager,使用ViewPager确实是一种比较好的方式,而且思路也是比较清晰的.今天我们就一起来学习一下,使用ViewPager和ViewFlipper实现启动页带小点功能. 先展示一下图片,看看是不是你想要的效果.  1.ViewPager和ViewFlipper的区别 ViewFlipper继承ViewAnimator,切换view的时候是有动画

Android 实现带指示器的自动轮播式ViewPager

前言 最近在做项目的时候,有个需求就是实现自动轮播式的ViewPager,最直观的例子就是知乎日报顶部的ViewPager,它内部有着好几个子view,每个一段时间便自动滑动到下一个item view,而底部的指示器也随之跟着改变.使用这种ViewPager的好处是在有限的空间内可以展示出多样化的信息.轮播式ViewPager广泛应用于各种应用内部,用于展示广告等.抱着学习和分享的目的,笔者把轮播式ViewPager写成了一个独立的控件,以方便以后的使用. 效果展示 话不多说,我们先来看看实现的

android修改tab 导航 指示器颜色

我其实想修改的上面的蓝色条条,改成红色. 这个问题实在是困扰我了太长时间.之前参照google的这个文章: https://developer.android.com/training/basics/actionbar/styling.html 但是事与愿违,我发现竟然连我整个tab颜色都改了. 觉得很奇怪,为什么google给的方法是修改整个tab?难道google搞错了? 网上找了很久,发现很多人都在问这个问题,而实际解决的人很少.偶尔有几个解决的,也是采用google的那个方法.但是我的不