2020.8.10
一.TextView
常用属性
属性名
说明
使用展示
textColor
设置文字颜色
android:textColor="@color/colorPrimaryDark"
textSize
设置文字大小
android:textSize="20sp"
textAlignment
设置文本对齐方式
android:textAlignment="center"
textScaleX
横向拉伸文字
android:textScaleX="2"
shadowColor
设置阴影色
android:shadowColor="@color/colorAccent"
shadowDx
设置横向偏移量
android:shadowDx="10"
shadowDy
设置纵向偏移量
android:shadowDy="10"
shadowRadius
设置阴影半径
android:shadowRadius="50"
drawableTop
给TextView的顶部设置图片
android:drawableTop="@drawable/wiwi"
autoLink
自动识别号码、网址等
android:autoLink="web"
ellipsize
一行显示不完全的情况下,设置省略号的位置
android:ellipsize="end"
marqueeRepeatLimit
跑马灯重复播放次数,需要设置ellipsize
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
跑马灯的启动还需要在代码中进行启动
textview.isSelected=true
二.ImageView
对于ImageView小编很想强调,其添加图片的两种方式
android:background="@drawable/pic"
这种方式会自动拉伸图片,直到全部填满控件
android:src="@drawable/pic"
该方式等比例拉伸图片,只要宽或高填满即可
特别注意:以上两种方式还可同时使用,第一种方式是背景,第二种方式是前景,前景会覆盖背景,可能会覆盖不完全,并且使用src的方式还可单独设置拉伸方式
下面是src添加图片方式的拉伸类型
类型名
拉伸方式
fitStart
按比例缩放,若没填满,则显示在顶部/左边
fitEnd
按比例缩放,若没填满,则显示在底部/右边
fitCenter
按比例缩放,显示在中心
fitXY
自由缩放,知道高度和宽度都填满
centerInside
等比例缩放,直到整个图片都显示在控件中
centerCrop
等比例缩放,直到填满控件
center
不缩放,原图(原大小)居中显示
使用drawable资源实现卷帘效果
android:drawable="@drawable/pic"
设置展开方向
android:clipOrientation="horizontal"
设置从哪个方位开始
android:gravity="left"
/>
然后将ImageView的src设置为clip.xml
另外启动该效果需要通过代码实现,其本质就是它的属性level值不断改变
override fun onResume() {
super.onResume()
val clipDrawable=imageView2.drawable as ClipDrawable
val timer=Timer()
timer.schedule(object :TimerTask(){
override fun run() {
clipDrawable.level+=100
if (clipDrawable.level==10000){
timer.cancel()
}
}
},0,100)
}
clip效果展示.gif
对图片操作时遇到的bug
三.EditText
常用的几个属性
属性名
说明
使用展示
inputType
设置输入的类型
对应各种输入框
android:inputType="textPassword"
cursorVisible
是否显示光标
android:cursorVisible="true"
hint
在没有任何输入的情况下
提示用户输入信息
android:hint="请输入密码"
letterSpacing
设置输入字符的间距
android:letterSpacing="0.3"
paddingStart
设置光标到前端的距离
android:paddingStart="10dp"
如果需要多行输入的话,需要如下设置
android:inputType="textMultiLine"
EditText最重要的是监听事件
text.addTextChangedListener(object :TextWatcher{
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
override fun afterTextChanged(s: Editable?) {
}
})
beforeTextChanged
s:改变前的字符序列
start:改变前的字符数量
count:删除一个字符,其值为1,否则为0
after:增加一个字符,其值为1,否则为0
onTextChanged
s:当前输入框中的所有字符组成的序列
start:如果当前正在删除字符,那么start的值为当前输入框的字符数量
如果正在增加字符,则为当前输入框的字符数量-1
before:若删除字符,其值为1,否则为0
count:若增加字符,其值为1,否则为0
afterTextChanged
s:改变后的输入框字符组成的序列
当我们输入完毕或点击空白处时想隐藏键盘,下面代码便可实现
val inputMethodManager=getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(mPwd.windowToken,InputMethodManager.HIDE_NOT_ALWAYS)
四.Switch开关
属性名
说明
使用展示
thumbTint
设置开关颜色
android:thumbTint="#B79740"
trackTint
设置开关另一半的颜色
android:trackTint="#7BCDA8"
事件监听
switch2.setOnClickListener {
val s=(it as Switch)
if (s.isChecked){
//打开开关
}else{
//关闭开关
}
}
五.checkBox
事件监听
checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
if (isChecked){
checkBox.text="选中了"
}else{
checkBox.text="没选择"
}
}
由于Button很普通,且用法单一,基本属性在View篇中已做详细讲解,下面介绍drawable资源在button上的两种用法
六.使用selector设置按钮点击状态对应的颜色
当按钮不可点击的时候,我们希望它的颜色暗淡一点,而可以点击时,便明亮一点,这样视觉效果会好很多
创建一个drawable资源文件
特别注意:设置两种状态颜色时,一定要是特殊情况在前,常规在后,因为它是从上向下进行匹配的,显然不可点击状态是特殊的,应该放在前面
创建好xml文件后,还需将按钮的background设置为新建的xml资源
七.设置按钮文字颜色随着是否可点击进行切换
对应于上文的背景变换,按钮的文字颜色同样可以进行切换,步骤同上,创建xml资源文件,然后将textColor设置为xml
高度注意:六、七两种方式中,给按钮设置背景颜色选择xml中,颜色的设置只能使用drawable,而按钮文字颜色选择xml中,颜色的设置只能使用color的方式,否则会报错或者文字颜色一直为紫色,设置无效
show.gif