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
  <com.ui.widget.UnAnimTabLayout
                 android:id= "@+id/tab"
                 android:layout_width= "match_parent"
                 android:layout_height= "match_parent"
                 android:layout_gravity= "center_vertical"
                 android:clipToPadding= "false"
                 android:paddingLeft= "5dp"
                 app:tabBackground= "@drawable/tab_selector_green"
                 app:tabIndicatorColor= "@android:color/white"
                 app:tabIndicatorHeight= "0dp"
                 app:tabMaxWidth= "0dp"
                 app:tabMinWidth= "0dp"
                 app:tabMode= "scrollable"
                 app:tabSelectedTextColor= "@color/white"
                 app:tabTextAppearance= "@style/tab_text_size"
                 app:tabTextColor= "@color/black_common"  />
 
 
 
     <style name= "tab_text_size" >
         <item name= "android:textSize" >28dp</item>
     </style>
 
 
 
  <com.widget.UnAnimTabLayout
                 android:id= "@+id/tab_add"
                 android:layout_width= "match_parent"
                 android:layout_height= "match_parent"
                 android:clipToPadding= "false"
                 android:layout_marginLeft= "@dimen/x20"
                 android:layout_marginRight= "@dimen/x20"
                 app:tabIndicatorColor= "@color/blue3"
                 app:tabIndicatorHeight= "@dimen/x3"
                 app:tabMaxWidth= "0dp"
                 app:tabMinWidth= "0dp"
                 app:tabMode= "scrollable"
                 app:tabSelectedTextColor= "@color/blue3"
                 app:tabTextAppearance= "@style/tab_text_size"
                 app:tabTextColor= "@color/black_common"  />

    code2

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
  mCateTabLayout.addOnTabSelectedListener( new  TabSelectAdapter() {
             @Override
             public  void  onTabSelected(TabLayout.Tab tab) {
                 TabUtils.tabSelect(mCateTabLayout, tab);
                 int  tag = ( int ) tab.getTag();
                 if  (tag == - 1 ) {
                     return ;
                 }
                 if  (!once_footer) {
                     once_footer =  true ;
                     return ;
                 }
                 footer_id = tag;
                 //请求数据bufen
                 set_refresh_data();
             }
         });
         mCateTabLayout.post( new  Runnable() {
             @Override
             public  void  run() {
                 TabUtils.setIndicator(mCateTabLayout,  80 80 );
             }
         });
 
 
// 初始化
 
  tab_add.removeAllTabs();
 
for  (FmNewFoodFenleiBean item : list_tab_add) {
             tab_add.addTab(tab_add.newTab()
                     .setTag(item.getFood_category_id()).setText(item.getFood_category_name()));
         }

    图片1:

    wKiom1mvlj2TBRHhAAB3QclvF_c872.png

    图片2:

    wKiom1mvlvPSsYmRAADI05Pj1RA222.png

    图片3:

    wKiom1mvlyKR8puHAAAkIRTkBLY502.png









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

目录
相关文章
|
8天前
|
Android开发 开发者
安卓应用开发中的自定义视图
【9月更文挑战第37天】在安卓开发的海洋中,自定义视图犹如一座座小岛,等待着勇敢的探索者去发现其独特之处。本文将带领你踏上这段旅程,从浅滩走向深海,逐步揭开自定义视图的神秘面纱。
24 3
|
2月前
|
供应链 物联网 区块链
未来触手可及:探索新兴技术的趋势与应用安卓开发中的自定义视图:从基础到进阶
【8月更文挑战第30天】随着科技的飞速发展,新兴技术如区块链、物联网和虚拟现实正在重塑我们的世界。本文将深入探讨这些技术的发展趋势和应用场景,带你领略未来的可能性。
|
2月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
129 1
|
2月前
|
测试技术 Android开发 Python
探索软件测试的艺术:从基础到高级安卓应用开发中的自定义视图
【8月更文挑战第29天】在软件开发的世界中,测试是不可或缺的一环。它如同艺术一般,需要精细的技巧和深厚的知识。本文旨在通过浅显易懂的语言,引领读者从软件测试的基础出发,逐步深入到更复杂的测试策略和工具的使用,最终达到能够独立进行高效测试的水平。我们将一起探索如何通过不同的测试方法来确保软件的质量和性能,就像艺术家通过不同的色彩和笔触来完成一幅画作一样。
|
1天前
|
XML 前端开发 Java
安卓应用开发中的自定义View组件
【10月更文挑战第5天】自定义View是安卓应用开发的一块基石,它为开发者提供了无限的可能。通过掌握其原理和实现方法,可以创造出既美观又实用的用户界面。本文将引导你了解自定义View的创建过程,包括绘制技巧、事件处理以及性能优化等关键步骤。
|
6天前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
47 2
|
26天前
|
Android开发 开发者
安卓开发中的自定义视图:从入门到精通
【9月更文挑战第19天】在安卓开发的广阔天地中,自定义视图是一块充满魔力的土地。它不仅仅是代码的堆砌,更是艺术与科技的完美结合。通过掌握自定义视图,开发者能够打破常规,创造出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战应用,一步步展示如何用代码绘出心中的蓝图。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往创意和效率的大门。让我们一起探索自定义视图的秘密,将你的应用打造成一件艺术品吧!
52 10
|
1天前
|
数据可视化 Android开发 开发者
安卓应用开发中的自定义View组件
【10月更文挑战第5天】在安卓应用开发中,自定义View组件是提升用户交互体验的利器。本篇将深入探讨如何从零开始创建自定义View,包括设计理念、实现步骤以及性能优化技巧,帮助开发者打造流畅且富有创意的用户界面。
6 0
|
1月前
|
XML 编解码 Android开发
安卓开发中的自定义视图控件
【9月更文挑战第14天】在安卓开发中,自定义视图控件是一种高级技巧,它可以让开发者根据项目需求创建出独特的用户界面元素。本文将通过一个简单示例,引导你了解如何在安卓项目中实现自定义视图控件,包括创建自定义控件类、处理绘制逻辑以及响应用户交互。无论你是初学者还是有经验的开发者,这篇文章都会为你提供有价值的见解和技巧。
34 3
|
1月前
|
前端开发 Android开发 开发者
安卓应用开发中的自定义视图基础
【9月更文挑战第13天】在安卓开发的广阔天地中,自定义视图是一块神奇的画布,它允许开发者将想象力转化为用户界面的创新元素。本文将带你一探究竟,了解如何从零开始构建自定义视图,包括绘图基础、触摸事件处理,以及性能优化的实用技巧。无论你是想提升应用的视觉吸引力,还是追求更流畅的交互体验,这里都有你需要的金钥匙。