Android——控件

控件的单位

  • px:像素,即在屏幕上显示的最小元素单位,屏幕是由一个个像素点形成的分辨率越高,屏幕像素点越多,所以采用px定义控件大小的话,在不同分辨率的设备上显示的效果可能会达不到预期。
  • pt:磅数,一磅等于1/72英寸,一般用作字体显示,但显示效果同样会随着不同型号的设备而显示不同。
  • dp:一种基于屏幕密度的抽象单位,在不同的显示设备上,可以根据设备的分辨率大小来显示不同的大小。
  • sp:可伸缩像素,类似于dp,一般用于字体设置,且会随着系统的字体大小改变而改变,而dp不会。

(补充:ppi和dpi:这两个是密度单位,ppi一般用于显示器,dpi一般用于打印机,但有时候又能混用,这里就拿ppi来举例)

计算公式:px = dp * (ppi / 160)

在320x480分辨率,像素密度为160,1dp=1px

在480x800分辨率,像素密度为240,1dp=1.5px

常用控件

TextView(显示文字)、EditText(输入框)、ImageView(显示图片)、Button(按钮)、ImageButton(图片按钮)、CheckBox(复选框)、RadioButton(单选按钮,配合RadioGroup,同一个RadioGroup只能选择一个RadioButton)、ProgressBar(进度条)、SeekBar(拖动条)、RatingBar(星级评分条)、ProgressDialog(进度提示框)等等,也可以实现自定义的控件。

根据控件功能的不同,调用使用的属性,常用属性:

android:id = "@+id/xxx"命名id

android:layout_width="wrap_content"设置宽

android:layout_height="wrap_content"设置高

android:text="显示文字"显示文字

android:textSize="16sp"显示字体大小

android:textColor="#FFFFFF"设置字体颜色

android:textStyle="normal"字体格式,正常normal、加粗bold、斜体italic,默认normal

android:gravity="center"文字对齐方式,top、bottom、left、right、center等等,默认center

android:singleLine="true"是否一行输入全部内容,默认false

android:hint="文本提示内容"文本提示内容,当输入框未输入时显示,输入后提示内容消失

android:password="true"设置密码形式文本,如*****,默认false

android:phoneNumber="true"数字类型文本,调用数字键盘,只能输入数字,默认false

android:cursorVisible = "false"是否显示光标,默认true
图片类控件的图片:
android:scaleType="fitXY"拉伸图片,填满ImageButton

android:scaleType=“center” 在视图中心显示图片,并且不缩放图片

android:scaleType=“centerCrop” 按比例缩放,使得图片长 (宽)的大于等于视图的相应维度

android:scaleType=“centerInside” 按比例缩放,使得图片长 (宽)的小于等于视图的相应维度

android:scaleType=“fitCenter” 按比例缩放图片到视图的最小边,居中显示

android:scaleType=“fitEnd” 按比例缩放图片到视图的最小边,显示在视图的下部分位置

android:scaleType=“fitStart” 按比例扩大/缩小到视图的最小边,显示在视图的上部分位置

android:scaleType=“matrix” 用矩阵来绘制(左上角开始绘制)

ImageButton图片显示方式:
Android——控件_第1张图片
进度条(默认圆形)、拖动条:

style="?android:attr/progressBarStyle"圆形进度条

style="?android:attr/progressBarStyleHorizontal"条形进度条

android:max="100"设置最大值

android:progress="50"设置已完成进度

android:progressDrawable="@drawable/xxx"设置进度条的Drawable,背景颜色和进度颜色

android:indeterminate="true"设置不显示精确进度,模糊模式

android:indeterminateDrawable="@drawable/xxx"设置不显示精确进度的进度条的Drawable对象

android:thumb="@mipmap/xxx" 拖动条滑块的图标

星级分评条

android:isIndicator="true"设置不可改性,true为不可改

android:numStars="5"设置最大星级,默认5

android:rating="3"设置默认星级,默认0

android:stepSize="2"设置每次最少改变星数,默认0.5颗星

设置输入键盘形式:

android:inputType=“number”//数字格式

android:inputType=“numberSigned”//有符号数字格式

android:inputType=“numberDecimal”//可以带小数点的浮点格式

android:inputType=“phone”//拨号键盘

android:inputType=“datetime”//日期+时间格式

android:inputType=“date”//日期键盘

android:inputType=“time”//时间键盘

android:inputType=“none”//输入普通字符

android:inputType=“text”//输入普通字符

android:inputType=“textCapCharacters”//输入普通字符

android:inputType=“textCapWords”//单词首字母大小

android:inputType=“textCapSentences”//仅第一个字母大小

android:inputType=“textAutoCorrect”//前两个自动完成

android:inputType=“textAutoComplete”//前两个自动完成

android:inputType=“textMultiLine”//多行输入

android:inputType=“textImeMultiLine”//输入法多行(不一定支持)

android:inputType=“textNoSuggestions”//不提示

android:inputType=“textUri”//URI格式

android:inputType=“textEmailAddress”//电子邮件地址格式

android:inputType=“textEmailSubject”//邮件主题格式

android:inputType=“textShortMessage”//短消息格式

android:inputType=“textLongMessage”//长消息格式

android:inputType=“textPersonName”//人名格式

android:inputType=“textPostalAddress”//邮政格式

android:inputType=“textPassword”//密码格式

android:inputType=“textVisiblePassword”//密码可见格式

android:inputType=“textWebEditText”//作为网页表单的文本格式

android:inputType=“textFilter”//文本筛选格式

android:inputType=“textPhonetic”//拼音输入格式

你可能感兴趣的:(Android)