自定义控件之TabIndicator
16lz
2021-01-26
Android TabIndicator
TabIndicator is an Open Source Android library.
github:BoBoMEe/TabIndicator
Thanks:
shaunxiao/TabIndicator,
Update
++++++++
attr added
<attr name="tiVisibleTabCount" format="reference|integer" /> <attr name="tiDrawablePaddding" format="reference|integer"/>
listener added
public void addOnTabClickListener(OnTabClickListener listener) { listener.onTabClick(View view, int index); }
public void addOnTabRepeatClickListener(OnTabRepeatClickListener listener) { listener.onTabClick(View view, int index); }
data observer
//when the adapter didn`t override //CharSequence getPageTitle(int position)setTitles(List<CharSequence> titles);
container
android.support.v7.widget.LinearLayoutCompat
support divider
++++++++
Usage
For a working implementation of this project see the sample/
folder.
Include this widgets in your view. This should usually be placed adjacent to the ViewPager it represents.
<org.itheima.tabindicator.library.TabIndicator android:id="@+id/indicator" android:layout_width="match_parent" android:layout_height="wrap_content" itheima:tabMode="line" itheima:lineColor="#0000ff" itheima:lineStyle="wrap" itheima:lineHeight="8dp" />
In your onCreate method (or onCreateView for a fragment), bind the indicator to the ViewPager.
//Set the pager with an adapter ViewPager pager = (ViewPager)findViewById(R.id.pager); pager.setAdapter(new TestAdapter()); //Bind the title indicator to the adapter TabIndicator indicator = (TabIndicator)findViewById(R.id.indicator); indicator.setViewPager(pager);
(Optional) If you use an OnPageChangeListener with your view pager,
pager.setOnPageChangeListener(listener);
Documentation
custom Attributions
<attr name="tiTabPaddingLeft" format="dimension"/><attr name="tiTabPaddingRight" format="dimension"/><attr name="tiTabPaddingTop" format="dimension"/><attr name="tiTabPaddingBottom" format="dimension"/><attr name="tiTabBackground" format="reference"/><attr name="tiTabTextColor" format="reference|color"/><attr name="tiTabTextSize" format="dimension"/><attr name="tiTabTextBlod" format="boolean"/><attr name="tiUnderLineHeight" format="dimension"/><attr name="tiUnderLineColor" format="color"/><!-- tab indicator mode --><attr name="tiTabMode" format="enum"> <enum name="line" value="0"/> <enum name="triangle" value="1"/> <enum name="rect" value="2"/></attr><!-- line mode attrs --><attr name="tiLineHeight" format="dimension"/><attr name="tiLineColor" format="color"/><attr name="tiLineStyle" format="enum"> <enum name="match" value="0"/> <enum name="wrap" value="1"/></attr><!-- triangle mode attrs --><attr name="tiTriangleHeight" format="dimension"/><attr name="tiTriangleWidth" format="dimension"/><attr name="tiTriangleColor" format="color"/><attr name="tiTriangleStyle" format="enum"> <enum name="fill" value="0"/> <enum name="stroke" value="1"/></attr><attr name="tiTriangleStrokeWidth" format="dimension"/><!-- rect mode attrs --><attr name="tiRectPaddingLeft" format="dimension"/><attr name="tiRectPaddingTop" format="dimension"/><attr name="tiRectPaddingRight" format="dimension"/><attr name="tiRectPaddingBottom" format="dimension"/><attr name="tiRectColor" format="color"/><attr name="tiRectRadius" format="dimension"/><attr name="tiRectStyle" format="enum"> <enum name="fill" value="0"/> <enum name="stroke" value="1"/></attr><attr name="tiRectStrokeWidth" format="dimension"/><attr name="tiRectStrokeColor" format="color"/>
Tab Mode
<!-- tab indicator mode --><attr name="tiTabMode" format="enum"> <enum name="line" value="0"/> <enum name="triangle" value="1"/> <enum name="rect" value="2"/></attr>
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer