天天看点

Android Studio 第五十期 - 自定义TabLayout

    代码已经整理好,效果如下图:

    code1:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

<code> </code><code>&lt;com.ui.widget.UnAnimTabLayout</code>

<code>                </code><code>android:id=</code><code>"@+id/tab"</code>

<code>                </code><code>android:layout_width=</code><code>"match_parent"</code>

<code>                </code><code>android:layout_height=</code><code>"match_parent"</code>

<code>                </code><code>android:layout_gravity=</code><code>"center_vertical"</code>

<code>                </code><code>android:clipToPadding=</code><code>"false"</code>

<code>                </code><code>android:paddingLeft=</code><code>"5dp"</code>

<code>                </code><code>app:tabBackground=</code><code>"@drawable/tab_selector_green"</code>

<code>                </code><code>app:tabIndicatorColor=</code><code>"@android:color/white"</code>

<code>                </code><code>app:tabIndicatorHeight=</code><code>"0dp"</code>

<code>                </code><code>app:tabMaxWidth=</code><code>"0dp"</code>

<code>                </code><code>app:tabMinWidth=</code><code>"0dp"</code>

<code>                </code><code>app:tabMode=</code><code>"scrollable"</code>

<code>                </code><code>app:tabSelectedTextColor=</code><code>"@color/white"</code>

<code>                </code><code>app:tabTextAppearance=</code><code>"@style/tab_text_size"</code>

<code>                </code><code>app:tabTextColor=</code><code>"@color/black_common"</code> <code>/&gt;</code>

<code>    </code><code>&lt;style name=</code><code>"tab_text_size"</code><code>&gt;</code>

<code>        </code><code>&lt;item name=</code><code>"android:textSize"</code><code>&gt;28dp&lt;/item&gt;</code>

<code>    </code><code>&lt;/style&gt;</code>

<code> </code><code>&lt;com.widget.UnAnimTabLayout</code>

<code>                </code><code>android:id=</code><code>"@+id/tab_add"</code>

<code>                </code><code>android:layout_marginLeft=</code><code>"@dimen/x20"</code>

<code>                </code><code>android:layout_marginRight=</code><code>"@dimen/x20"</code>

<code>                </code><code>app:tabIndicatorColor=</code><code>"@color/blue3"</code>

<code>                </code><code>app:tabIndicatorHeight=</code><code>"@dimen/x3"</code>

<code>                </code><code>app:tabSelectedTextColor=</code><code>"@color/blue3"</code>

    code2

<code> </code><code>mCateTabLayout.addOnTabSelectedListener(</code><code>new</code> <code>TabSelectAdapter() {</code>

<code>            </code><code>@Override</code>

<code>            </code><code>public</code> <code>void</code> <code>onTabSelected(TabLayout.Tab tab) {</code>

<code>                </code><code>TabUtils.tabSelect(mCateTabLayout, tab);</code>

<code>                </code><code>int</code> <code>tag = (</code><code>int</code><code>) tab.getTag();</code>

<code>                </code><code>if</code> <code>(tag == -</code><code>1</code><code>) {</code>

<code>                    </code><code>return</code><code>;</code>

<code>                </code><code>}</code>

<code>                </code><code>if</code> <code>(!once_footer) {</code>

<code>                    </code><code>once_footer = </code><code>true</code><code>;</code>

<code>                </code><code>footer_id = tag;</code>

<code>                </code><code>//请求数据bufen</code>

<code>                </code><code>set_refresh_data();</code>

<code>            </code><code>}</code>

<code>        </code><code>});</code>

<code>        </code><code>mCateTabLayout.post(</code><code>new</code> <code>Runnable() {</code>

<code>            </code><code>public</code> <code>void</code> <code>run() {</code>

<code>                </code><code>TabUtils.setIndicator(mCateTabLayout, </code><code>80</code><code>, </code><code>80</code><code>);</code>

<code>// 初始化</code>

<code> </code><code>tab_add.removeAllTabs();</code>

<code>for</code> <code>(FmNewFoodFenleiBean item : list_tab_add) {</code>

<code>            </code><code>tab_add.addTab(tab_add.newTab()</code>

<code>                    </code><code>.setTag(item.getFood_category_id()).setText(item.getFood_category_name()));</code>

<code>        </code><code>}</code>

    图片1:

    图片2:

    图片3:

本文转自 吴雨声 51CTO博客,原文链接:http://blog.51cto.com/liangxiao/1963094,如需转载请自行联系原作者

继续阅读