【Android】标签页、计时器、单选按钮、复选按钮

写一个小程序把安卓程序中的几个基础组件的基本用法串联起来。

如下图所示:

在安卓程序中,一个计时器,一直在不断地计时,每10秒弹出一个提示。

MainActivity被一个标签页分成两部分,一部分,有单选按钮与复选按钮,最后有一个提交按钮,

结果在另一个标签页中显示。

用这个程序来说明安卓中标签页、计时器、单选按钮、复选按钮的用法。

首先贴上res\values\string.xml中,各个组件的字符串。

<?xml version="1.0" encoding="utf-8"?><resources><string name="app_name">标签页与基本组件</string><string name="action_settings">Settings</string><string name="tab1_RadioGroup1_RadioButton1">单选选项1</string><string name="tab1_RadioGroup1_RadioButton2">单选选项2</string><string name="tab1_CheckBox1">复选选项1</string><string name="tab1_CheckBox2">复选选项2</string><string name="tab1_Button1">提交</string><string name="tab2_TextView1">标签页2</string></resources>整个程序的组件,已经基本可以略窥一二了,

标签页的的标题“组件”、“结果”一会儿通过Java中设置。

同时,在没有按“组件”标签页的“提交”按钮之前,在“结果”标签页的标签文本TextView默认是为“标签2”。

1、首先在res\layout文件夹中新建两个xml,一个为tab1.xml,一个为tab2.xml如下图所示:

如果你在一个Activity中决定使用标签页,那你这个Activity中基本布局文件,这里MainActivity默认是activity_main.xml是定死了,必须这样写:

<?xml version="1.0" encoding="utf-8"?><TabHost xmlns:android=""android:id="@android:id/tabhost"android:layout_width="fill_parent"android:layout_height="fill_parent" ><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TabWidgetandroid:id="@android:id/tabs"android:layout_width="fill_parent"android:layout_height="wrap_content"/><FrameLayoutandroid:id="@android:id/tabcontent"android:layout_width="fill_parent"android:layout_height="fill_parent" /></LinearLayout></TabHost>这里大家可以明显注意到,这里设置ID的方式,与平时我们自己定义安卓组件的情况不同,,这里设置Id不为android:id="@+id/xx"中间没有加号。这是因为这个标签页组件是系统中一个固定的常量,tabhost、tabs这些id,不得自己改名,相当于关键字。

2、之后是对"组件"标签页的布局tab1.xml的书写。

这里很简单,通过一个基本线性布局,各个组件垂直排列下来,在"组件"标签页中放着一个计时器、单选按钮组、复选按钮x2,一个按钮,并且对要被Java控制的组件赋予id。

同时非常重要的一点是,要为总的线性布局赋予id,一会儿要在MainActivity.java声明,标签1加载这个布局。

<LinearLayout xmlns:android=""android:id="@+id/LinearLayout1"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><!– 计时器 –><Chronometerandroid:id="@+id/chronometer1"android:layout_width="match_parent"android:layout_height="wrap_content"android:textSize="24sp" /><!–单选按钮组需要注意的是:单选按钮组如果要被控制必须对单选按钮组、各个单选按钮都赋予相应的id,否则程序会出错–><RadioGroupandroid:id="@+id/tab1_RadioGroup1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal" ><RadioButtonandroid:id="@+id/tab1_RadioGroup1_RadioButton1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:checked="true"android:text="@string/tab1_RadioGroup1_RadioButton1"android:textSize="24sp" /><RadioButtonandroid:id="@+id/tab1_RadioGroup1_RadioButton2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/tab1_RadioGroup1_RadioButton2"android:textSize="24sp" /></RadioGroup><!– 复选框x2 –><CheckBoxandroid:id="@+id/tab1_CheckBox1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/tab1_CheckBox1"android:textSize="24sp" /><CheckBoxandroid:id="@+id/tab1_CheckBox2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/tab1_CheckBox2"android:textSize="24sp" /><!– 按钮 –><Buttonandroid:id="@+id/tab1_Button1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/tab1_Button1"android:textSize="24sp" /></LinearLayout>3、最后是对"结果"标签页的布局tab2.xml的书写。这里非常简单,放置一个带id的标签文本TextView就OK了。<LinearLayout xmlns:android=""android:id="@+id/LinearLayout2"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/tab2_TextView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/tab2_TextView1"android:textSize="24sp" /></LinearLayout>4、布局完毕,开始对MainActivity.java这个文件进行书写。虽然用了标签页布局,但这个java文件能够一次性地控制多个标签页中的各个组件。

程序中的OnCreate方法分为三个部分,一个是标签页的初始化、一个是计时器的初始化、一个是按钮单击事件。没有什么特别的。

穷则思变,差则思勤!没有比人更高的山没有比脚更长的路。

【Android】标签页、计时器、单选按钮、复选按钮

相关文章:

你感兴趣的文章:

标签云: