关于Android较常用的组件介绍

简介:  之前给大家讲了安卓的基本组件,很明显那是不够的,因此我在这篇帖子再补充一些较常用的组件。1、RadioButton(单选按钮)和CheckBox(多选按钮)我们通常会用到单选和多选按钮,比如用户注册页面可能出现性别选择的单选按钮和兴趣爱好选择的多选按钮。

 之前给大家讲了安卓的基本组件,很明显那是不够的,因此我在这篇帖子再补充一些较常用的组件。

1、RadioButton(单选按钮)和CheckBox(多选按钮)

我们通常会用到单选和多选按钮,比如用户注册页面可能出现性别选择的单选按钮和兴趣爱好选择的多选按钮。他们都是继承于Button,可以直接使用Button的属性和方法。但是他们多了一个可选中的功能,因此他们有一个checked属性,用来指定他们初始状态时是否被选中。当然RadioButton和CheckBox之间是有区别的,因为一组RadioButton中只能有一个被选中,而CheckBox可以同时选择多个,这也就使得当我们写RadioButton组的时候,外面要写一个RadioGroup。下面我就贴一些主要的关于他们的代码:

        <RadioGroup
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:layout_marginLeft="40dp"
            android:orientation="horizontal" >

            <RadioButton
                android:id="@+id/rbt_girl"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/girl" />

            <RadioButton
                android:id="@+id/rbt_boy"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="true"
                android:text="@string/boy" />
        </RadioGroup>


    <CheckBox
        android:id="@+id/cb_sing"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="130dp"
        android:text="@string/sing" />

    <CheckBox
        android:id="@+id/cb_sing"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="130dp"
        android:text="@string/dance" />

    <CheckBox
        android:id="@+id/cb_sing"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="130dp"
        android:text="@string/read" />
要注意的是,我们在上面的代码中让性别为男默认为选中,而多选按钮则一个都没选。如果单选按钮有一个选中,则其他的之前不管是被选中的还是用户自己选中的,都要变成没被选中。
2、ToggleButton

ToggleButton和CheckBox很相似,他们都可以提供两个状态,但不同的是TaggleButton通常用于切换程序中的某种状态。就像我们通常会开启一个服务,我们可以使用ToggleButton让它成为一个开关,而它也通常被设计成开关的样子,这个详见后图。

    <ToggleButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@drawable/togglebutton"
        android:textOff=""
        android:textOn="" />

3、AnalogClock(数字时钟)和DigitalClock(模拟时钟)

Android提供了这两个时间组件,他们会显示当前的时间,能够特别方便开发者的使用,功能相当于安卓系统自带的时钟。除此之外,Android还提供一个叫Chronometer的计时器组件,可以说是我们手机上的秒表的原型,因为它是显示从某个时间开始过了多少时间,它有几个特殊的方法,方便用户的计时,包括:

setBase(long base):设置起始时间

setFormat(String format):设置时间显示的格式

start():开始计时

stop():停止计时

<strong style="font-size:14px;">    </strong><span style="font-size:12px;"><AnalogClock 
        android:id="@+id/ac_test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="10dp" />
    
    <DigitalClock 
        android:id="@+id/dc_test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:padding="10dp"
        android:textColor="@color/holo_blue_bright"
        android:textSize="16sp"/></span>

这大概就是几种用的还算多的组件,下面我展示一下我使用了这几种组件的一个注册页面,大家都去动手写一下会比较好,其实很简单,当然也有点丑咯。


在这里,我还要插播一个关于边距的,也就是margin和padding,我自己也在这个上面混淆不清过。那么他们之间有什么区别呢?

margin是标注了这个属性的组件和其他组件之间的距离,而padding是自己和自己的边框之间的距离,比如说按钮里面的文字和它的边框之间的距离。

目录
相关文章
|
4月前
|
存储 设计模式 数据库
构建高效的安卓应用:探究Android Jetpack架构组件
【4月更文挑战第20天】 在移动开发的世界中,构建一个既高效又可维护的安卓应用是每个开发者追求的目标。随着Android Jetpack的推出,Google为开发者提供了一套高质量的库、工具和指南,以简化应用程序开发流程。本文将深入探讨Jetpack的核心组件之一——架构组件,并展示如何将其应用于实际项目中,以提升应用的响应性和稳定性。我们将通过分析这些组件的设计原则,以及它们如何协同工作,来揭示它们对于构建现代化安卓应用的重要性。
|
4月前
|
Android开发 算法 架构师
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
|
4月前
|
Android开发 缓存 双11
android的基础ui组件,Android开发社招面试经验
android的基础ui组件,Android开发社招面试经验
android的基础ui组件,Android开发社招面试经验
|
5天前
|
存储 开发框架 数据可视化
深入解析Android应用开发中的四大核心组件
本文将探讨Android开发中的四大核心组件——Activity、Service、BroadcastReceiver和ContentProvider。我们将深入了解每个组件的定义、作用、使用方法及它们之间的交互方式,以帮助开发者更好地理解和应用这些组件,提升Android应用开发的能力和效率。
|
4月前
|
Java 开发工具 Android开发
如何在Eclipse中查看Android源码或者第三方组件包源码(转)
如何在Eclipse中查看Android源码或者第三方组件包源码(转)
42 4
|
17天前
|
缓存 搜索推荐 Android开发
安卓应用开发中的自定义View组件实践
【9月更文挑战第10天】在安卓开发领域,自定义View是提升用户体验和实现界面个性化的重要手段。本文将通过一个实际案例,展示如何在安卓项目中创建和使用自定义View组件,包括设计思路、实现步骤以及可能遇到的问题和解决方案。文章不仅提供了代码示例,还深入探讨了自定义View的性能优化技巧,旨在帮助开发者更好地掌握这一技能。
|
30天前
|
存储 搜索推荐 Java
探索安卓开发中的自定义视图:打造个性化UI组件Java中的异常处理:从基础到高级
【8月更文挑战第29天】在安卓应用的海洋中,一个独特的用户界面(UI)能让应用脱颖而出。自定义视图是实现这一目标的强大工具。本文将通过一个简单的自定义计数器视图示例,展示如何从零开始创建一个具有独特风格和功能的安卓UI组件,并讨论在此过程中涉及的设计原则、性能优化和兼容性问题。准备好让你的应用与众不同了吗?让我们开始吧!
|
29天前
|
XML 搜索推荐 Android开发
安卓开发中的自定义View组件实践
【8月更文挑战第30天】探索Android世界,自定义View是提升应用界面的关键。本文以简洁的语言带你了解如何创建自定义View,从基础到高级技巧,一步步打造个性化的UI组件。
|
1月前
|
开发工具 Android开发
Android项目架构设计问题之组件A通知组件B某个事件的发生如何解决
Android项目架构设计问题之组件A通知组件B某个事件的发生如何解决
30 0
|
2月前
|
机器学习/深度学习 人工智能 算法
探索AI在医疗影像分析中的应用探索安卓开发中的自定义View组件
【7月更文挑战第31天】随着人工智能技术的飞速发展,其在医疗健康领域的应用日益广泛。本文将聚焦于AI技术在医疗影像分析中的运用,探讨其如何通过深度学习模型提高诊断的准确性和效率。我们将介绍一些关键的深度学习算法,并通过实际代码示例展示这些算法是如何应用于医学影像的处理和分析中。文章旨在为读者提供对AI在医疗领域应用的深刻理解和实用知识。
32 0