Android应用开发的一项重要内容就是界面开发。对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户。作为一个程序员如何才能开发出友好的图形界面呢。实际上Android提供了非常丰富UI(User Interface)控件,开发者只要掌握了这些控件的特性,按照一定的规律,就可以像堆积木一样开发出友好的图形界面。

本章将介绍常用的基本控件的具体用法。

一、Android UI的基础知识

Android中所有的可视化组件都是继承自View类,通常把它们称之为视图。视图也经常被称为控件或者小组件。ViewGroup类继承自View类,是对View类的扩展,它用来包含、管理多个视图。用户界面(User Interface UI)就是由一个个具体的View和ViewGroup构成的一颗视图树。下图显示的是构成界面的视图树。

二、Android基本控件

1. TextView

TextView直接继承自View类,是一个只读文本标签,支持多行显示,字符串格式化以及自动换行等特性。通过XML属性和TextView类的相关方法可以设置TextView的显示特性。

相关文章:

Android TextView 常用技巧

TextView展示富文本时emoj或图片和文字不对齐的解决方案

TextView 显示内容时出现 ArrayIndexOutOfBoundsException 的解决方法(Android 4.1)

2. EditText

EditText是TextView的直接子类,一个可编辑的文本输入框。它可以接受多行输入,并自动换行。

EditText XML属性及方法如下:

3.  Button&ImageButton

Android按钮可包含文本、图片和图片及文字,分为Button和ImagetButton两个控件。Button是TextView的直接子类,主要响应用户的单击操作,如常见的“确定”、“登录”、“注册”按钮等。

ImageButton和Button一样也是主要响应用户的单击操作的UI控件,ImageButton可设置图片的按钮,不过ImageButton并不是Button的子类而是ImageView的直接子类。

4. RadioButton和RadioGroup

RadioButton是单选按钮,可提供若干选项方便用户进行选择操作,且在一组选项中只能选择一个。RadioGroup继承自ViewGroup和RadioButton结合使用,将若干RadioButton选项组合为一组。

5. CheckBox

CheckBox是和RadioButton一样是常见的选项控件,CheckBox是复选框控件即用户可任意选择多个选项。

6. ImageView

ImageView用于显示本地资源图片或加载网络图片的UI控件,TextView和ImageView能用来实现Android图文并茂的界面。

ImageView的常用属性及方法如下:

scaleType是ImageView控件的重要属性,当加载的图片资源与控件的大小不匹配时,该如何呈现图片资源就可通过这个属性进行配置。scaleType属性值如下:

7. RecyclerView

RecyclerView 是现在 Android 中最重要的基本组件之一,它的出现就是为了高效代替 ListView 和 GridView。 RecyclerView 除了比 ListView 好用外,某些地方它却更复杂了,它将更多的权力交给了开发者自己,比如布局,比如 ITEM 的分割线,比如点击监听等等。平常开发我们一般按照 RecyclerView 的基本用法便可以实现绝大多数需求,但是某些场景下却远远不够,比如我们不想局限于 LinearLayoutManager 想自己定义 LayoutManager,我们需要定义时光轴的效果,我们想实现美妙的添加删除动画等等,这些情况下解决问题的话需要我们对 RecyclerView 本身有足够的了解。

相关文章:

https://blog.csdn.net/briblue/article/details/70161917

Android 基本控件相关知识整理的更多相关文章

  1. Android ListVeiw控件(转载整理)

    列表的显示需要三个元素: 1.ListVeiw 用来展示列表的View. 2.适配器 用来把数据映射到ListView上的中介. 3.数据    具体的将被映射的字符串,图片,或者基本组件. 根据列表 ...

  2. Android 开源控件与常用开发框架开发工具类

    Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...

  3. 矩阵, 矩阵 , Android基础控件之ImageView

    天下文章大家抄,以下所有内容,有来自copy,有来自查询,亦有自己的总结(目的是总结出自己的东西),所以说原创,不合适,说是转载也不恰当,所以我称之为笔记,可惜没有此分类选项,姑且不要脸一点,选择为原 ...

  4. Github上star数超1000的Android列表控件

    Android开发中,列表估计是最最常使用到的控件之一了.列表相关的交互如下拉刷新,上拉更多,滑动菜单,拖动排序,滑动菜单,sticky header分组,FAB等等都是十分常见的体验.Github中 ...

  5. 【Android开发日记】之入门篇(十三)——Android的控件解析

    Android的控件都派生自android.view.View类,在android.widget包中定义了大量的系统控件供开发者使用,开发者也可以从View类及其子类中,派生出自定义的控件. 一.An ...

  6. DevExpress之GridControl控件小知识

    DevExpress之GridControl控件小知识 一.当代码中的DataTable中有建数据关系时,DevExpress 的 GridControl 会自动增加一个子视图 .列名也就是子表的字段 ...

  7. IOS学习资源收集--开发UI控件相关

    收集的一些本人了解过的iOS开发UI控件相关的代码资源(本文持续补充更新) 内容大纲: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 2.计时相关的自定义UILabel控件 正文 ...

  8. android 基础控件(EditView、SeekBar等)的属性及使用方法

        android提供了大量的UI控件,本文将介绍TextView.ImageView.Button.EditView.ProgressBar.SeekBar.ScrollView.WebView ...

  9. Android基本控件之Menus

    在我们的手机中有很多样式的菜单,比如:我们的短信界面,每条短信,我们长按都会出现一个菜单,还有很多的种类.那么现在,我们就来详细的讨论一下安卓中的菜单 Android的控件中就有这么一个,叫做Menu ...

随机推荐

  1. Pyton:类变量,实例变量,类对象,实例对象

    https://www.cnblogs.com/crazyrunning/p/6945183.html

  2. JavaSE基础知识(5)—面向对象(Object类)

    一.包 java.lang包,属于java中的核心包,系统默认导入的,不用手动导入该包中的类:Object.System.String.Integer等 1.包的好处 ①分类管理java文件,查找和管 ...

  3. 分析easyswoole3.0源码,服务启动为例(一)

    swoole已经升级到4了,主要的特性是更好的支持协程,easyswoole也为了更好支持协程推出了es3.我本地环境是php7.2.9 centos7 在github下载最新的3.0的demo.地址 ...

  4. Replace To Make Regular Bracket Sequence

    Replace To Make Regular Bracket Sequence You are given string s consists of opening and closing brac ...

  5. Linux下docker报错syntax error:unexpected protocol at end of statement

    ---恢复内容开始--- [Linux]Shell脚本“syntax error: unexpected end of file”原因及处理 :::https://blog.csdn.net/u013 ...

  6. Decoders Matter for Semantic Segmentation:Data-Dependent Decoding Enables Flexible Feature Aggregation

    Decoders Matter for Semantic Segmentation:Data-Dependent Decoding Enables Flexible Feature Aggregati ...

  7. Heartbeat详解

    转自:http://blog.sina.com.cn/s/blog_7b6fc4c901012om0.html 配置主节点的Heartbeat Heartbeat的主要配置文件有ha.cf.hares ...

  8. GUI学习之五——QAbstractButton类学习笔记

    今天总结一下AbstractButton类的学习笔记. 一.描述 AbstractButton是对各种按键的抽象类他的继承关系是这样的 首先,QAbstractButton继承了QWidget类的各种 ...

  9. laravel-安装验证码扩展

    第一步:找到验证码扩展 链接:https://packagist.org/packages/mews/captcha 第二步:安装 环境要求:验证码需要开启php的gd库 . 执行命令(有时候安装会出 ...

  10. 主要的Ajax框架都有什么?

    *  Dojo(dojotoolkit.org):* Prototype和Scriptaculous (www.prototypejs.org和script.aculo.us):* Direct We ...