android之EditText

来源:互联网 发布:淘宝买虚拟产品 编辑:程序博客网 时间:2024/05/24 13:28

1.基础attributes。

官方文档里没有显示EditText特有的属性,全是继承TextView里的。说几个比较常用的。设置输入类型可以在xml和java里设置,例如inputType(int)可以设置输入类型,这里的参数int是类EditorInfo里实现的android.text.InputType接口的常量digits可以设置只能输入事先设定好的内容。而只能在xml里设置的numeric属性已经过时了(写这篇文章是时候才发现)。设置校验提示可以先判断if(比如为空)的时候调用setError("想要提示的内容")即可。hint是默认提示内容,这个不多说了。

2.在EditText中生成image。

调用以下方法即可。这里好像用到了java的反射机制,先根据文件名动态找到drawable,再用bitmap装载drawable,再用SpannableString来分解drawableName,当editText中贴上drawableName时加载图片。

//EditText中生成image,一般放在button监听器里调用,imageName不要带后缀格式名void setImageInEditText(EditText editText, String imageName) {    try {        Field field = R.drawable.class.getDeclaredField(imageName);        int resourceId = Integer.parseInt(field.get(null).toString());        //android中要显示图片信息,必须用Bitmap位图的对象来装载        Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), resourceId);        ImageSpan imageSpan = new ImageSpan(context, bitmap);        SpannableString spannableString = new SpannableString(imageName);        spannableString.setSpan(imageSpan, 0, imageName.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        editText.append(spannableString);    } catch (Exception e) {        e.printStackTrace();    }}

0 0
原创粉丝点击