`
chandler
  • 浏览: 81621 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

android学习笔记(九)

阅读更多

TabActivity
    我不太喜欢这个TabActivity(以下简称Tab)。因为写这个Activity的时候,会把代码弄的很乱。至少android的例子中,处理这个Tab很多东西都不是很OO。所以如果你几个tab之间的逻辑关系简单还好。复杂的应用,用起来就觉得很不舒服。至少是我写的那个练手的app。感觉代码很乱。
    但是这个Tab还是有其特点的。最大的就是不用考虑activity之间对象的传递。因为android在activity之间传递不是Serializable的对象时候很麻烦,比如说是一个list。如果把两个activity合并成一个Tab,而正好有个list需要传递的话,是一件很惬意的事情。而且有些应用有两个界面,难分伯仲的时候,比较建议用Tab。这一点我不敢肯定。我的应用有两个主要界面。一个是产生一条记录。另一个是看产生记录的列表。由于app上面挂着广告。我用Tab的时候。impression至少200+。我三个礼拜没有更新,还是能够维持。但是由于代码混乱。我改成了两个activity的时候,impression就一直100+,很少到200。不过也不敢肯定。因为上周改回了tab,貌似也没见回升。
    不过我自己思考了一下。觉得在产生两个主要界面的情况下。Tab能够给用户以直观的感受。如果你分成两个Activity,之间联系就不会有那么强烈。比方说我用menu来转换。自己用过。感觉没有用Tab的时候清晰。

Tab的基本TabHost
     TabHost可以说是最基本的一个操作Tab的一个类。其中提供比较很多操作activity的方法。你往Tabactiviy上面加入Tab等一些操作。都是需要通过它,获得也是它。
     加Tab
     mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator(Tab1Name).setContent(R.id.Lottery));
 
     获取当前Tab
     int TabIndex = mTabHost.getCurrentTab()
 
    这个是我觉得判断当前Tab最方便的办法。当然,还有其他两个方法。一个是获得当前view。另一个是当前的tagname。相对来说这个方法最便当。因为判断的是基本数据类型。直接用==就ok了。当然这个方法还是有着自己比较难以处理的地方。就是Tab的顺序和代码耦合。当改变tab顺序的时候,就必须要改变代码。

Menu处理
   当使用Tab的时候,很容易产生的一个问题就是不同的Tab要对应不同的Menu。我的做法可能有点笨拙。就是在onCreateOptionsMenu(Menu menu)把所有menu的visible设为false.然后在onPrepareOptionsMenu(Menu menu)中,判断currentTab。然后把需要的menu的visiable设成true.
     
不解
    就是设定背景色。到目前为止都不好设定Tab的背景色。如果说设定的Tab的layout不能称满真个屏幕的话,那么背景色就不会称满这个屏幕。这个是我技术不够,所以才碰到的问题吧。希望高人指教。

0
1
分享到:
评论

相关推荐

    第一行代码 android学习笔记 完整版

    "Android学习笔记" Android学习笔记是Android开发者的必读书籍,书中涵盖了Android系统架构、Activity、Intent、资源管理等多方面的知识。本笔记对应的学习资源《第一行代码》是Android开发者的入门必读书籍,书中...

    Android学习笔记九:基本视图组件:Spinner

    本篇学习笔记将深入探讨Spinner的使用、工作原理以及如何自定义它来满足特定需求。 一、Spinner的基本用法 1. 添加Spinner到布局文件: 在XML布局文件中,通过`<Spinner>`标签添加Spinner,可以设置其属性如id、宽...

    Android学习笔记(十)——实现新闻列表

    Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...

    Android开发学习笔记

    ### Android开发学习笔记 #### Button按钮的实现与交互 在Android开发中,`Button`控件是最常用的用户界面元素之一,用于触发特定的操作或事件。本文档将详细讲解如何创建并自定义一个简单的按钮,并设置点击事件...

    android 学习笔记

    Android学习笔记(1)-永远不变的Hello World Google的Android SDK发布也有一段时间了,一直想研究一下却苦于找不到时间。利用这个周未,开始强迫自己再次进入学习状态,原因很简单:我看好开放的gPhone。 SDK的下载...

    Android开发学习笔记(整理)

    Android开发学习笔记(整理),整理论坛android学习笔记,较完整的讲解了android的内容。包括:view、activity、service、intent、广播机制、http连接、数据sqllite存储、后台线程、各种layout、偏好、本地文件操作、...

    Android 学习笔记

    这篇学习笔记主要涵盖了关于布局的一些基本概念,特别是`fill_parent`和`wrap_content`这两种尺寸指定方式,以及如何通过XML布局文件来精确控制组件的位置。 首先,`fill_parent`和`wrap_content`是Android布局中的...

    java学习细节 android学习笔记

    根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...

    Android学习笔记整理.pdf

    Android学习笔记整理.pdf

    android 学习笔记(全全整理)

    Android学习笔记全全整理,是针对想要深入理解并掌握Android开发技术的学习者们的一份宝贵资源。这份笔记涵盖了从基础到高级的多个方面,旨在帮助读者建立起完整的Android知识体系。以下将详细介绍其中可能包含的...

    ArcGIS for android学习笔记

    本篇学习笔记主要涵盖了ArcGIS for Android的基础配置和核心组件MapVie的使用。 首先,配置ArcGIS for Android项目需要在`Project`级别的`build.gradle`文件中添加Esri的仓库,确保能获取到所需的库。接着,在`...

    Android基础学习笔记

    Android基础学习笔记主要涵盖了一系列关于Android开发的基本概念和关键组件,以下是这些知识点的详细解析: 1. **Activity**: 是Android应用程序的基本单元,它代表用户在屏幕上看到的一个界面。每个Activity都必须...

    android学习笔记(html完整版)目录

    目录,整理论坛android学习笔记,较完整的讲解了android的内容。包括:view、activity、service、intent、广播机制、http连接、数据sqllite存储、后台线程、各种layout、偏好、本地文件操作、apdapter等几乎全部内容...

    android学习笔记.zip

    《Android学习笔记》 在移动应用开发领域,Android操作系统占据着重要的地位,为开发者提供了丰富的API和工具,使得创建各种应用程序变得可能。本压缩包文件包含了一位学习者从第一天到第五天,以及一个特定项目...

Global site tag (gtag.js) - Google Analytics