热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android开发:巧妙运用ViewStub写出类似Tab选项卡

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

巧妙运用ViewStub写出类似Tab选项卡(想怎么写tab就怎么写,横着写竖着写随你)

网上找了半天也没找到如何运用ViewStub写出一个选项卡,而且关于ViewStub也都是基本介绍(基础知识请参照网上,一大坨的转载).之前看到一个老兄写的模拟iphone选项卡的界面,但是那个太麻烦了,本人天生懒惰,没办法只好自己动手写一个了。

先睹为快,看下面截图(有点类QQ通讯录),最底下是一个类似于Tab的选项卡(有点iphone选项卡感觉吧)。  

为了简单起见,这里就不用这个截图做例子了,下面就用写一个最简单的Demo。

第一步:还是先建立底部的选项卡(其实就是一个TableLayout布局),代码如下(main.xml):

  1. xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout   
  3.      xmlns:Android="http://schemas.android.com/apk/res/android"  
  4.       android:layout_width="wrap_content"   
  5.       android:layout_height="wrap_content"  
  6.       android:background="#ffffff">  
  7. <TableLayout android:layout_width="fill_parent"  
  8.         android:layout_height="54dip"  
  9.         android:orientation="horizontal"  
  10.         android:layout_gravity="bottom"  
  11.         android:layout_alignParentBottom="true"  
  12.         xmlns:android="http://schemas.android.com/apk/res/android"  
  13.         >  
  14.         <TableRow  
  15.             android:layout_width="fill_parent"  
  16.             android:layout_height="54dip"  
  17.             >  
  18.             <Button   
  19.                 android:id="@+id/btn1"  
  20.                 android:background="#888888"  
  21.                 android:layout_width="70dip"  
  22.                 android:layout_height="54dip"  
  23.                 android:layout_weight="1"  
  24.                 android:text="Button 1"  
  25.                 />  
  26.             <Button   
  27.                 android:id="@+id/btn2"  
  28.                 android:background="#888888"  
  29.                 android:layout_width="70dip"  
  30.                 android:layout_height="54dip"  
  31.                 android:layout_weight="1"  
  32.                 android:text="Button 2"  
  33.                 />  
  34.             <Button   
  35.                 android:background="#888888"  
  36.                 android:id="@+id/btn3"  
  37.                 android:layout_width="70dip"  
  38.                 android:layout_height="54dip"  
  39.                 android:layout_weight="1"  
  40.                 android:text="Button 3"  
  41.                 />  
  42.             <Button   
  43.                 android:background="#888888"  
  44.                 android:id="@+id/btn4"  
  45.                 android:layout_width="70dip"  
  46.                 android:layout_height="54dip"  
  47.                 android:layout_weight="1"  
  48.                 android:text="Button 4"  
  49.                 />         
  50.         TableRow>         
  51.     TableLayout>  
  52. RelativeLayout>  

效果图:


推荐阅读
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Android 九宫格布局详解及实现:人人网应用示例
    本文深入探讨了人人网Android应用中独特的九宫格布局设计,解析其背后的GridView实现原理,并提供详细的代码示例。这种布局方式不仅美观大方,而且在现代Android应用中较为少见,值得开发者借鉴。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
author-avatar
thiji_0
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有