本文针对常用控件(Textview、Button、EditText、RadioButton、CheckBox、ImageView)进行简单说明
说到控件,就不得不区分一些概念。
控件(Control):编程中用到的部件
组件(Component):软件的组成部分
插件(plugin): 应用程序中已经预留接口的组件
下面举些例子
Android的系统控件:
Android的四大组件
网页上常用插件莫过于flash了,用于视频加载播放。
和布局类似控件至少需要设置的属性为android:layout_width和android:layout_height,分别控制布局的宽度和高度,一般填入的参数为match_parent和wrap_content,也可填入具体尺寸 。
出于实际需要,android:id也必不可少,id属性只能接受资源类型的值,也就是必须以@开头的值,在R中用一个int类型的值来表示。比如@+id/xyz,在R.java中表示为int xyz = value
,其中value是一个十六进制数。
值得说明的是@id和@+id的区别
布局文件中常用的几个单位
可实现的常用功能:
可以设置四个方向的图片: drawableTop(上),drawableButtom(下),drawableLeft(左),drawableRight(右)
当文字中出现了URL,E-Mail,电话号码的时候,我们可以通过设置android:autoLink属性;当我们点击对应部分的文字,即可跳转至某默认APP,比如一串号码,点击后跳转至拨号界面!
文字效果,如跑马灯,阴影等等
android:ellipsize="end" 内容超过屏幕宽度,尾部显示省略号
实现跑马灯效果(文字循环滚动)
android:singleLine="true" //单行显示
android:ellipsize="marquee" //文字循环滚动
android:marqueeRepeatLimit="marquee_forever" //设定为永久循环
android:focusable="true" //获取键盘焦点
android:focusableInTouchMode="true" //获取触屏焦点
简单介绍下这里的焦点,获取焦点的控件就是当前可以执行操作的控件。举个例子,当我们点击文本框时,会出现光标闪烁,在光标处可以输入文字,这里的文本框就获取了焦点,单行显示如果用android:maxLines="1"会报错。
这样的设计存在一个缺陷——当前界面的其他控件都无法获取焦点了,也就无法在本界面上进行其他操作,仅仅起到演示效果,而且若同时设置多个跑马灯只有第一个会有响应。(还遇到一个坑,就是在我的红米真机上显示不出跑马灯效果,有待填坑)所以需要设计无焦点的跑马灯
动图的下方图标是水印
Button一般需要实现的效果是按下后发生某种响应,跳转。 Button是TextView的子类,Textview也可像Button一样设置点击事件
点击效果的原理是:按下前为浅色,按下后变为深色,当然颜色选得恰当的话效果会更好。一种做法是在android:background中引用Drawable资源文件,设置< item android:state_pressed="xx">中xx分别为true和false的情况下,按钮状态的改变
按钮水波效果实现可见https://www.runoob.com/w3cnote/android-tutorial-button-imagebutton.html
动图中,如果未设置按钮状态改变,看不出按钮点击效果,于是我加入了点击时带圆点提示
常用的实用属性如下
demo只演示了数字输入,可以看到号码不接受数字外的其他类型输入
使用方法如下
比如出一道单选题,选项的集合就是布局文件中的<RadioGroup>,里面嵌套几个<RadioButton>,每个各代表一个选项,选项内容由android:text决定。
为了方便起见,通常在用户未选时设置默认选中的选项,在该选项中设置属性android:checked="true"
选项默认的样式是在文本前加点表示选中,也可以采用文本框对纯色填充的样式。则需要在android:background中引用Drawable资源文件,设置< item android:state_checked="xx">中xx分别为true和false的情况下,按钮状态的改变。
相当于多选题,区别RadioButton的地方在于,不需设置一个选项集合,而是
题目可由TextView显示,每个选项由一个<CheckBox>表示,选项内容由android:text决定。
选项的按钮样式可通过引用Drawable资源文件,在Drawable资源文件中进行修改设置。
ImageView有两个可以设置图片的属性,分别是:src和background
background通常指的都是背景,而src指的是内容!!
当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸
而使用background填入图片,则是会根据ImageView给定的宽度来进行拉伸
图片缩放类型可由两种控制方式设置:
ImageView源码中暂时没有实现加载网络图片的方法,当然在网上有很多种方法,这里介绍其中一种:使用第三方的库Glide加载网络图片。
按照天哥的视频进行配置 build.gradle,一开始报错了,说一下修改遇到的坑:
组件、控件和插件的区别
TextView、ImageView详解|菜鸟教程
https://www.runoob.com/w3cnote/android-tutorial-textview.html,https://www.runoob.com/w3cnote/android-tutorial-imageview.html
Android 基础之简单控件
@id和@+id的区别
https://blog.csdn.net/bzlj2912009596/article/details/80491153
【天哥】Android开发视频教程最新版 Android Studio开发
Android 获取焦点
Android之跑马灯详解
Android Studio 学习笔记(三):简单控件及实例
原文:https://www.cnblogs.com/ifever/p/12317698.html