发表于: 2019-01-19 23:55:18

0 971


今天完成的事情

1.虚拟键盘和界面的交互,androd:windowSoftIputMode属性

这个属性共有9个值:stateUnspecified,stateUnchanged,stateHidden,stateAlwaysHidden,stateVisible,stateAlwaysVisible,  adjustUnspecified,adjustResize,adjustPan。

关于这9个值,光看名称很难理解,还好有位博主将这些值一个一个试了一遍(我懒,没去试)

【Android开发经验】android:windowSoftInputMode属性详解


2.Ems和Length

官方解释

maxLength的作用是通过specified  , number(你指定的数字)来限制text   ,length(文本长度),这里特指的是文本长度,而无论我们输入什么内容,英文、符号、数字、汉字等等,这些都属于文本范围,所以maxlength的作用就是直接限制显示的长度。

而maEms就比较麻烦了,如果没有看到下面这篇文章,可能我会被这个问题困扰很久,这位博主也是各种情况都尝试了一遍,得出了一些结果,

em是一个印刷排版的单位,表示字宽的单位。 em字面意思为:equal M(和M字符一致的宽度为一个单位)简称em, ems是em的复数表达,比如maxEms=”5” 限制TextView的最大宽度为5个大写M的字符宽度。

Android 开发者,你真的会用textview(maxEms和maxLength)的属性吗?

TextView maxWidth maxLength maxEms 区别


3.setBackground、setBackgroundColor、setBackgroundDrawable、setBackgroundSource的区别

.SetBackground(Drawable background)其参数为一个Drawable对象,目的是设置view的背景图片,Drawable对象可以这样获取 getResources().getDrawable(R.drawable.xx),还可以是Context.getResource().getColor(R.color.white);

.setBackgroundColor(int color)其参数为一个颜色值,其目的是设置一个view的背景颜色;

.setBackgroundDrawable(Drawable background)和SetBackground相似,都是通过传入一个Drawable对象设置view控件的背景图片;

.setBackgroundResource(int resid)它也是设置一个view的背景图片,只不过传入的是一个drawable的id值或者color颜色值。


setBackground和setBackgroundDrawable方法的区别:两者都是传入一个Drawable对象,但setBackground实在API16以上才提供的方法,在API16及以下则是只能使用setBackgroundDrawable的方法,如果在API16 以上使用setBackgroundDrawable方法则会提示该方法过时(其实它还能用,只不过android官方不建议你用,给这个方法画了个横线,可以在兼容PAI16 以下系统的APP里使用这个方法。),对于这种情况,可以通过对系统判断来决定使用什么方法。


setBackgroundResource和setBackgroundColor的区别:setBackgroundResource设置的是最底层的颜色,当改变完颜色以后,如果布局在xml文件中默认颜色是white,会被white遮盖掉。setBackgroundColor设置的是中间层的颜色,相当于XML文件里的颜色setBackgroundColor(context.getResouce().getColor(R.color.XXX))可以理解为改变的是最上层的颜色,不管xml布局中的颜色是什么色,使用了setBackgroundColor,就会在布局颜色上层刷上颜色,所以就会显色。 



返回列表 返回列表
评论

    分享到