android 常见组件,Android 常用知识点总结之UI组件(持续更新)

以下知识点为常用且不熟知的一些知识点

1.TextView

1.1 shapeDrawable知识点

这个是设置背景颜色的

这个是设置边框的粗细,以及边框颜色的

这个是设置边距的

这个是设置圆角的

这个是设置渐变色的,可选属性有: startColor:起始颜色 endColor:结束颜色

centerColor:中间颜色 angle:方向角度,等于0时,从左到右,然后逆时针方向转,当angle = 90度时从下往上 type:设置渐变的类型

1.2 drawableXxx;可以设置四个方向的图片

xml中修改

drawableTop(上),drawableButtom(下),drawableLeft(左),drawableRight(右)

另外,你也可以使用drawablePadding来设置图片与文字间的间距!

Java中代码中进行修改

第一步:Drawable[] drawable = textview.getCompoundDrawables( );

获得四个不同方向上的图片资源,数组元素依次是:左上右下的图片

第二步:drawable[1].setBounds(100, 0, 200, 200);

接着获得资源后,可以调用setBounds设置左上右下坐标点,比如这里设置了代表的是:

长是:从离文字最左边开始100dp处到200dp处 宽是:从文字上方0dp处往上延伸200dp!

第三步:textview..setCompoundDrawables(drawable[0], drawable[1], drawable[2], drawable[3]);

为TextView重新设置drawable数组!没有图片可以用null代替哦!

PS:另外,从上面看出我们也可以直接在Java代码中调用setCompoundDrawables为 TextView设置图片!

1.3autoLink相关知识点

f0c654d7000e?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

all就是全部都包含,自动识别协议头~ 在Java代码中可以调用setAutoLinkMask(Linkify.ALL); 这个时候可以不写协议头,autolink会自动识别,但是还要为这个TextView设置: setMovementMethod(LinkMovementMethod.getInstance()); 不然点击了是没效果的!

1.4TextView内容转HTML代码

//将字符串转换为**CharSequence**接口

t1.setText(Html.fromHtml(s1));

t1.setMovementMethod(LinkMovementMethod.getInstance());

1.5跑马灯效果

android:singleLine="true"

android:ellipsize="marquee"

android:marqueeRepeatLimit="marquee_forever"

2.EditText

2.1常用属性

android:hint //设置hint提示文本

android:textColorHint //设置hint提示文字颜色

android:textStyle //设置文本字体样式,bold(加粗),italic(倾斜),normal(默认是正常字体).

android:singleLine //设置是否单行输入 true(单行输入),false(会自动换行).注意:该属性在使用时提示已过时,建议使用android:maxLines="1"属性替代.

android:textAlignment //设置EditText中文本显示的位置,center(居中),inherit(默认,居左边显示),viewStart(居左显示),viewEnd(居右显示),textStart(居左显示),textEnd(居右显示).这里需要注意的是最低支持的API版本是17,前两个可以在API14中使用,而后面使用就会报红线...

android:textColorHighlight //设置被选中字体的颜色.默认为 Theme 主题中的 “colorAccent”的颜色.

textCursorDrawable //设置被光标的颜色.默认为 Theme 主题中的 “colorAccent”的颜色.

android:textScaleX //设置文本的水平缩放系数.

android:typeface //设置hint提示文本的字体.normal(默认),monospace,sans,serif.这里就不解释了,大家试一下就能看出效果.

android:background //设置EditText背景."@null"设置背景为透明.当我们设置背景后,EditText的那条线就会消失.

android:textAppearance //设置文本的颜色,字体,大小和样式.

android:digits //设置只接收指定的文本内容.

android:editable //设置EditText是否可以编辑.当你设置为true,会提示你该EditText已经是可编辑的.设置为false时会提示使用inputType替代.

android:inputType //设置文本的类型,用于帮助输入法显示合适的键盘类型.

android:maxLength //设置EditText最多接受的文本的个数.

android:lines //设置EditText显示的行数,设置两行就显示两行,即使第二行没有数据.

android:lineSpacingExtra //设置行间距.

android:lineSpacingMultiplier //设置行间距的倍数. 如设置成1.5倍.

android:imeOptions //设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号.下面会详细说明.

2.inputType用法

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:网址。

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:inputType=number:数字。

android:inputType=numberSigned:带符号数字格式。

android:inputType=numberDecimal:带小数点的浮点格式。

android:inputType=phone:拨号键盘。

android:inputType=datetime:时间日期。

android:inputType=date:日期键盘。

android:inputType=time:时间键盘。

3.ImageView

3.1 JAVA中的用法

前景(对应XML的src属性):setImageDrawable( );

背景(对应XML的background属性):setBackgroundDrawable( );

3.2 adjustViewBounds设置缩放是否保存原图长宽比

单独设置不起作用,需要配合maxWidth和maxHeight属性一起使用!

android:adjustViewBounds="true"

android:maxHeight:设置ImageView的最大高度

android:maxWidth:设置ImageView的最大宽度

3.3 scaleType设置缩放类型

fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,

但是图片的横纵比可能会发生改变

fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,

缩放完成后将图片放在ImageView的左上角

fitCenter:同上,缩放后放于中间;

fitEnd:同上,缩放后放于右下角;

center:保持原图的大小,显示在ImageView的中心。

当原图的size大于ImageView的size,超过部分裁剪处理。

centerCrop:保持横纵比缩放图片,知道完全覆盖ImageView,可能会出现图片的显示不完全

centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片

matrix['meɪtrɪks]:默认值,不改变原图的大小,从ImageView的左上角开始绘制原图,

原图超过ImageView的部分作裁剪处理

4.Button

1)ToggleButton(开关按钮)

可供我们设置的属性:

android:disabledAlpha:设置按钮在禁用时的透明度

android:textOff:按钮没有被选中时显示的文字

android:textOn:按钮被选中时显示的文字 另外,除了这个我们还可以自己写个selector,然后设置下Background属性即可~

2) Switch(开关)

可供我们设置的属性:

android:showText:设置on/off的时候是否显示文字,boolean

android:splitTrack:是否设置一个间隙,让滑块与底部图片分隔,boolean

android:switchMinWidth:设置开关的最小宽度

android:switchPadding:设置滑块内文字的间隔

android:switchTextAppearance:设置开关的文字外观,暂时没发现有什么用...

android:textOff:按钮没有被选中时显示的文字

android:textOn:按钮被选中时显示的文字

android:textStyle:文字风格,粗体,斜体写划线那些

android:track:底部的图片

android:thumb:滑块的图片

android:typeface:设置字体,默认支持这三种:sans, serif, monospace;除此以外还可以使用 其他字体文件(*.ttf),首先要将字体文件保存在assets/fonts/目录下,不过需要在Java代码中设置: Typeface typeFace =Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf"); textView.setTypeface(typeFace);

5.SeekBar

好吧,基本用法其实很简单,常用的属性无非就下面这几个常用的属性,Java代码里只要setXxx即可:

android:max="100" //滑动条的最大值

android:progress="60" //滑动条的当前值

android:secondaryProgress="70" //二级滑动条的进度

android:thumb = "@mipmap/sb_icon" //滑块的drawable

接着要说下SeekBar的事件了,SeekBar.OnSeekBarChangeListener 我们只需重写三个对应的方法:

onProgressChanged:进度发生改变时会触发

onStartTrackingTouch:按住SeekBar时会触发

onStopTrackingTouch:放开SeekBar时触发

6.ProgressBar

常用属性详解:

android:max:进度条的最大值

android:progress:进度条已完成进度值

android:progressDrawable:设置轨道对应的Drawable对象

android:indeterminate:如果设置成true,则进度条不精确显示进度

android:indeterminateDrawable:设置不显示进度的进度条的Drawable对象

android:indeterminateDuration:设置不精确显示进度的持续时间

android:secondaryProgress:二级进度条,类似于视频播放的一条是当前播放进度,一条是缓冲进度,前者通过progress属性进行设置!

对应的再Java中我们可调用下述方法:

getMax():返回这个进度条的范围的上限

getProgress():返回进度

getSecondaryProgress():返回次要进度

incrementProgressBy(int diff):指定增加的进度

isIndeterminate():指示进度条是否在不确定模式下

setIndeterminate(boolean indeterminate):设置不确定模式下

7.ScrollView(滚动条)

scrollView.fullScroll(ScrollView.**FOCUS_DOWN**);滚动到底部

scrollView.fullScroll(ScrollView.**FOCUS_UP**);滚动到顶部

垂直方向滑块:android:scrollbarThumbVertical

水平方向滑块:android:scrollbarThumbHorizontal

滚动速度

@Override

public void fling(int velocityY) {

super.fling(velocityY / 2); //速度变为原来的一半

}

8.DatePicker(日期选择器)

可供我们使用的属性如下:

android:calendarTextColor : 日历列表的文本的颜色

android:calendarViewShown:是否显示日历视图

android:datePickerMode:组件外观,可选值:spinner,calendar 前者效果如下,默认效果是后者

android:dayOfWeekBackground:顶部星期几的背景颜色

android:dayOfWeekTextAppearance:顶部星期几的文字颜色

android:endYear:去年(内容)比如2010

android:firstDayOfWeek:设置日历列表以星期几开头

android:headerBackground:整个头部的背景颜色

android:headerDayOfMonthTextAppearance:头部日期字体的颜色

android:headerMonthTextAppearance:头部月份的字体颜色

android:headerYearTextAppearance:头部年的字体颜色

android:maxDate:最大日期显示在这个日历视图mm / dd / yyyy格式

android:minDate:最小日期显示在这个日历视图mm / dd / yyyy格式

android:spinnersShown:是否显示spinner

android:startYear:设置第一年(内容),比如19940年

android:yearListItemTextAppearance:列表的文本出现在列表中。

android:yearListSelectorColor:年列表选择的颜色

9.CalendarView(日历视图)

android:firstDayOfWeek:设置一个星期的第一天

android:maxDate :最大的日期显示在这个日历视图mm / dd / yyyy格式

android:minDate:最小的日期显示在这个日历视图mm / dd / yyyy格式

android:weekDayTextAppearance:工作日的文本出现在日历标题缩写

10.Spinner(列表选项框)

android:dropDownHorizontalOffset:设置列表框的水平偏移距离

android:dropDownVerticalOffset:设置列表框的水平竖直距离

android:dropDownSelector:列表框被选中时的背景

android:dropDownWidth:设置下拉列表框的宽度

android:gravity:设置里面组件的对其方式

android:popupBackground:设置列表框的背景

android:prompt:设置对话框模式的列表框的提示信息(标题),只能够引用string.xml 中的资源id,而不能直接写字符串

android:spinnerMode:列表框的模式,有两个可选值: dialog:对话框风格的窗口 dropdown:下拉菜单风格的窗口(默认)

可选属性:android:entries:使用数组资源设置下拉列表框的列表项目

11AutoCompleteTextView

android:completionHint:设置下拉菜单中的提示标题

android:completionHintView:定义提示视图中显示下拉菜单

android:completionThreshold:指定用户至少输入多少个字符才会显示提示

android:dropDownAnchor:设置下拉菜单的定位"锚点"组件,如果没有指定改属性, 将使用该TextView作为定位"锚点"组件

android:dropDownHeight:设置下拉菜单的高度

android:dropDownWidth:设置下拉菜单的宽度

android:dropDownHorizontalOffset:指定下拉菜单与文本之间的水平间距

android:dropDownVerticalOffset:指定下拉菜单与文本之间的竖直间距

android:dropDownSelector:设置下拉菜单点击效果

android:popupBackground:设置下拉菜单的背景

MultiAutoCompleteTextView(多提示项的自动完成文本框) 和这个AutoCompleteTextView作用差不多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值