上一篇我们对TextView的使用以及相关属性有了一定的了解,本篇我们开始了解Button和EditText、ImageView的使用

Button

Button是UI中的一个小部件,主要用于交互中用户点击触发应用程序中的操作,首先,我们来创建一个Button

Button的基本属性与TextView设置基本都差不多,想字体颜色、大小、背景颜色等基本都一致。这里我们重点了解一下Button的点击事件

点击 设置setOnClickListener

button设置监听事件setOnClickListener,当点击按钮是在对应的监听方法中可以收到回调,如图点击按钮时可以改变TextView的值。

长按点击 设置setOnLongClickListener

button设置监听事件setOnLongClickListener,当长按点击时在对应的监听方法中可以收到回调,如图长按点击按钮时可以改变TextView的值。
注意监听回调方法中需要确定返回布尔值,返回false意味着将触发setOnClickListener,发挥ture意味着不触发setOnClickListener。

EditText

EditText是Android UI中的输入框部件,一般在表单中需要输入的就需要用到这个部件,首先,我们来创建一个EditText



EditText其实就是一个可编辑的TextView,所以它大部分的属性和TextView是保持一致的,但是他也有自己独特数属性

属性
android:hint输入框提示文本
android:textColorHint输入框提示文本颜色
android:inputType输入框类型
InputType.TYPE_CLASS_TEXT 所有文本
InputType.TYPE_CLASS_NUMBER 只能输入数字
InputType.TYPE_CLASS_DATETIME 只能是日期时间
InputType.TYPE_TEXT_VARIATION_NORMAL 正常显示
InputType.TYPE_TEXT_VARIATION_PASSWORD 密文显示
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD 明文显示

设置监听
EditText最常设置件的监听事件就是内容监听,有时候我们需要知道当输入的内容发生变化时,我们可能需要去处理某些业务,如关键字检索数据等。

EditText的内容监听addTextChangedListener方法,TextWatcher是一个接口类,有三个关于内容变化的回调方法
beforeTextChanged:内容改变前的回调
afterTextChanged:内容改变后的回调
onTextChanged:内容改变中的回调

一般来说,onTextChanged这个回调是我们用的最多的,正常我们也是在这个回调中去处理我们的业务。

ImageView

ImageView组件是Android中用于显示和处理图片的组件,首先,我们来创建一个ImageView

如图图片资源是从android:src中引入的,项目中的图片可以放到资源文件下的drawable、mipmap目录下,直接引入图片名即可。

imageView图片缩放类型

缩放类型属性是通过 android:scaleType设置的,设置的类型包含以下几种
fitStart 图片拉伸使之位于视图上部
fitEnd 图片拉伸使之位于视图下部
fitXY 不按比例缩放图片,目标是把图片塞满整个View(图片可能被拉伸)
fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
center 保持图片原尺寸并位于视图中间,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
在这里我们先演示几种常用的类型

1.fitStart 图片拉伸使之位于视图上部

2.fitEnd 图片拉伸使之位于视图下部

3.fitXY 不按比例缩放图片,目标是把图片塞满整个View(图片可能被拉伸)

其他的类型,大家可以去尝试一下,看看是什么样的效果,今天的组件就介绍到这里,我们下期再见!

Android实战开发-Kotlin教程(组件篇 2.3)相关推荐

  1. Android实战开发-Kotlin教程(入门篇-RecyclerView数据列表的实现)

    在移动应用开发中,很多时候我们需要去展示数据记录,如电商应用中的商品列表.订单列表等等一系列的数据记录的展示时,我们需要用到Android的列表组件展示这些数据,列表组件应该是我们遇到到比较常见也是必 ...

  2. Android实战开发-Kotlin教程(布局篇 3.1)

    上一篇我们对Android常用的组件已经有了一个初步的了解,本篇我们开始了解Android常用的布局方式 什么是布局?怎么去理解布局了?简单的来说,布局就是一种约束,比如你把一堆的东西放到地上,他就是 ...

  3. Android实战开发-Kotlin教程(语法篇 1.2)

    上一篇我们介绍了Kotlin语法的一些基础用法,本章我们来学习一下Kotin的语法知识 if表达式 if表达式在开发过程中最常见的判断表达式 if后面的括号代表判断的条件表达式,如条件表达式的结果为t ...

  4. Android 系统开发_四大组件篇 -- Service 解析(用法)

    开篇 服务是什么? 服务(Service)是 Android 中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还需要长期进行的任务.服务的运行不依赖于任何用户界面,即使程序被切换 ...

  5. Android实战开发——引导页面(ViewPager)篇

    Android实战开发之引导页面 文章目录 Android实战开发之引导页面 前言 一.概述 二.操作步骤 1.操作准备 2.初始化 3.适配器设置 3.圆点的滑动事件 三.总结 前言 本篇文章主要介 ...

  6. 傻瓜式Android APP开发入门教程

    这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤一一讲解,非常简明的一个Android APP开发入门教程,android各种机子和rom的 ...

  7. 【Android】Android应用开发案例教程

    <Android应用开发案例教程(高等学校计算机科学与技术项目驱动案例实践规划教材)>应用"项目驱动(project-driven) "最新教学模式,通过完整的项目案例 ...

  8. Android UI开发第二十五篇——分享一篇自定义的 Action Bar

    Action Bar是android3.0以后才引入的,主要是替代3.0以前的menu和tittle bar.在3.0之前是不能使用Action Bar功能的.这里引入了自定义的Action Bar, ...

  9. 微信公众号开发入门教程第一篇

    微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...

最新文章

  1. 最大熵模型(Maximum Etropy)—— 熵,条件熵,联合熵,相对熵,互信息及其关系,最大熵模型。。...
  2. SSE eventSource简介
  3. java中类型转换的造型_Java-类型转换 - 吉胖子很瘦的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. 【题目解析】1015 Reversible Primes (20 分)_27行代码AC
  5. 美国会不会禁用python_美国要是禁用Windows系统,该怎么办?国人会不会选择换系统呢?...
  6. PDF怎么在线合并为一个文件
  7. Visual C#.Net 网络程序开发-Socket篇
  8. 解决办法:configure: error: C compiler cannot create executables错误
  9. java下载m3u8视频,解密并合并ts(一)
  10. android 大华电子秤波特率_大华条码秤对接经验总结
  11. 概率论 方差公式_概率论基本问题
  12. 如何在html中插入表情包,一款支持插入表情的编辑器实现代码(简单思路挺重要)...
  13. C语言学习(一)软件篇
  14. iOS-ERROR ITMS-90096
  15. SSD LBA 计算器
  16. PARALYSIS AS “SPIRITUAL LIBERATION” IN JOYCE’S DUBLINERS Iven Lucas Heister, B.A.【翻译】
  17. c语言字符集的作用,1.属于C语言字符集中可显示字符的是()
  18. 我的世界java版海岛种子_我的世界孤岛种子代码 1.8海岛生存种子
  19. 今日头条28岁程序员郭宇,财富自由提前退休:永远去做你余生中最重要的事!...
  20. Android studio Build时,Download maven-metadata.xml卡住不动的问题

热门文章

  1. 手机版app怎么发送html邮件,邮件已发送.html
  2. 爬虫分析某微博账号转发影响因子
  3. 小米取消html打开txt,小米手机开启文件怎么删除音效 小米手机系统7.0版本关闭解锁音效方法如下...
  4. IDEA----最上面的状态栏不见了的复原方法
  5. mac 完全卸载python
  6. 论打造用户体验和数值系统,你得看看游戏类产品
  7. 微信开发者工具出现‘当前系统代理不是安全代理,是否信任?的提示’
  8. 太变态!还有这样的 Hello World 鬼畜代码
  9. 微信小程序swiper图片尺寸_微信小程序 swiper 轮播图 高度自适应
  10. 战网国际服 下载 打开客户端