完整的在附件,共计24页word

10更多的部件和容器

在前面的章节中,我们介绍了EditView可以设置输入的时候是数字或者电话号码,等等。Android也提供了一些别的部件,方便我们输入。比如DatePickerTimePicker,和对话框(DatePickerDialogTimePickerDialg)用于帮助用户输入日期和时间。

使用起来很简单,我们直接看例子吧

再看java代码

界面中有两个按钮,分别用于设置日期和时间

代码不难理解,只要分别注册日期或者时间的监听器,实现相应的方法即可。这里不做过多介绍啦

上面的例子是需要用户输入的,如果希望显示时间和日期的话,我们需要使用下面的方法

通常需要调用

DigitalClock或者AnalogClock这两个部件来显示时间或日期

我们不需要java代码,就可以显示当前时间了

进度条

如果需要使用进度条的效果,可以使用androd提供的progressbar部件

一个ProgressBar,保持一个进度的状态。可以从整数0开始定义,一直到某个值。

如果你不确定进度的状态什么时候结束,那么可以使用indeterminate这个属性。

Android:indeterminateBehavior属性。你可以通过java代码来停止它,否则就是一个无限循环啦~~~

java代码中,你可以通过setprogress()方法来设置某一个进度条,也可以通过incrementProgressBy()方法来设置每次增加多少,也可以通过getProgress()方法来看进度到什么程度了。。因为进度条与线程关系密切,所以我们会在后面结合线程来讲,这里就不多介绍了~~~

选项卡的使用~~

选显卡,大家应该对这个界面很熟悉了。我们直接就看在android中如何使用选项卡来做界面。。

在绘制选项卡界面的时候,你将会看到如下几个部件

l TabHost 是选项卡的父窗体啦~

l TabWidget tab选项按钮的实现。每一个TabWidget包含一个文本标签或者可选的图标Icon

l FrameLayout 是选项卡的内容的布局。每一个选项卡的内容都是一个FrameLayout的子类。帧布局,是一层一层的叠加的~每一个选项卡对应着一帧,每一帧都是有内容的。你可以通过属性来指定对应的帧~~

使用规则:

在目前使用的android的版本中,你需要遵守下面的几条规则

l 你必须给每一个TabWidget一个android:id属性,一般给的值如

@android:id/tabs中的一个

l 你需要设置每一个Framellayoutpadding的值。

l 如果你希望使用TabActivity,你就必须给TabHost部件一个id,值对应例如;

@android:id/tabhost

TabActivity ,类似ListActivity,包含一些通用的ui组件。我们不是必须使用这个部件哦,普通的Activity也可以使用的很方便的。

我们直接看例子吧:

最外层的<tabhost 标签,有一个id,为@+id/tabhost

然后添加了一个Tab部件,id@android:/tabs

接下来填充内容

<framelayout 标签,同样对应着一个id : @android:id/tabcontent

这里,我们的帧布局,里面含有两个部件,在后面的代码中,我们会看到,每一个部件都独立的放在一个选项卡中~~

在接下来,我们就可以看到了,,一个选项卡界面,分几个选项卡,是由Framelayout里面包含的元素的数目决定的~~~~

我们这个例子是比较简单的,一个按钮,一个始终。

但是,更复杂的情况是,一般每个选项卡本身就是一个容器(比如采用了LinearLayout来排列的一系列内容)。

接下来,我们需要通过java代码,来控制选项卡。告诉它,当某个选项卡被选中了,就需要显示数目样的内容~~~所有的这些内容是填充在 TabSpec这个对象里的~~

我们可以通过 tabhost newTabSpec()方法来获得这个对象,填充它,然后添加到合适序列中去就行了,待会会看到代码

TabSpec,有两个重要的方法

l setContent()方法,通过各种id,将需要的部件添加进去

l setIndicator()方法,当你需要为选项卡设置文本啊,图标啊,可以同过调用这个方法,传递一个字符串或者drawable对象进去即可

同时,需要注意到的是,在你配置任何TabSpec的内容的时候,你必须先调用TabHostsetup()方法。当然,如果你是用的是TabActivity,就不需要调用了

代码的最后一行,setCurrentTab()参数是Tab的索引,从0 开始

更多相关文章

  1. Android(安卓)数据存储(一) Preference的使用
  2. Android应用的自动升级、更新模块的实现(zz)
  3. 完美获取Android状态栏高度
  4. android app启动流程解析
  5. Android中Intent的setData,setType和setDataAndType的用法
  6. Android(安卓)Context对象
  7. 隐藏Android(安卓)系统自带的v7.widget.Toolbar的标题
  8. android 实现左右滑动效果
  9. Android(安卓)HAL 开发 (1)

随机推荐

  1. Conda太慢?试试这个加速工具!
  2. 25页PPT | 如何利用python进行地图可视化
  3. 解决matplotlib文字标签遮挡问题
  4. 基于geopandas的空间数据分析—geoplot篇
  5. geopandas&geoplot近期重要更新
  6. 20 行代码:Serverless 架构下用 Python 轻
  7. 成天说要删库跑路,这次真的有人干了
  8. Python+Kepler.gl轻松制作时间轮播地图
  9. 必知必会的8个Python列表技巧
  10. JavaScript的工作原理:V8引擎内部机制及优