EditText一些用法

 1 EditText
 2 
 3 1、<CounterTextLayout
 4                 android:background="@drawable/rect_corner_edittext">//当给EditText设置圆角背景属性的时候,外层有CounterTextLayout,需要把圆角背景属性设置在CounterTextLayout布局中
 5 
 6                     <EditText
 7                         android:id="@+id/origin_txt_edit"
 8                         ..../>
 9                 </CounterTextLayout>
10                 
11                 
12 2、rect_corner_edittext.xml,drawable文件下:
13                 <?xml version="1.0" encoding="utf-8"?>
14                 <shape xmlns:android="http://schemas.android.com/apk/res/android"
15                             android:shape="rectangle">//表示画矩形
16 
17                 <solid android:color="@color/black_color_txt_alpha_5"></solid>//矩形填充颜色  或者 android:tint=@drawable/editTextBackground.xml
18                 <stroke
19                 android:width="0dp"
20                 android:color="@color/black_color_txt_alpha_5"></stroke>//矩形描边,边的宽度和颜色
21                 <corners android:radius="20dp"/>//矩形圆角度数
22                 </shape>
23 
24 3、editTextBackground.xml (drawable)可被设置为editText背景background,通过<selector>标签可实现动态变化
25 <?xml version="1.0" encoding="utf-8"?>  
26 <selector xmlns:android="http://schemas.android.com/apk/res/android">  
27         //文本框EditText在正常情况下的状态
28     <item  
29         android:state_window_focused="false"  
30         android:drawable="@drawable/bg_edittext_normal" />  
31         //文本框在获得焦点情况下的背景状态
32     <item  
33         android:state_focused="true"  
34         android:drawable="@drawable/bg_edittext_focused" />  
35 </selector>  
36 
37 4、可在代码中设置EditText背景颜色,但是没有矩形圆角效果
38 mView.findViewById(R.id.editText).setBackgroundResource(R.color.caution);
39 
40 5、设置背景图片
41 float size = ((EditText)mView.findViewById(R.id.editText)).getTextSize();
42 int wh = (int)Math.floor(size);
43 
44 Drawable face_smile = mView.getResources().getDrawable(R.drawable.face_smile, null);
45 face_smile.setBounds(0, 0, wh, wh);//setBounds() 并不是取图片 0,0 到 wh,wh 的尺寸,而是指将图片缩放到 wh,setBounds() 必须设置,不管要不要改变图片尺寸。如果不想改变尺寸可用:face_smile.setBounds(0, 0,face_smile.getMinimumWidth(), face_smile.getMinimumHeight());
46 
47 ((EditText)mView.findViewById(R.id.editText)).setCompoundDrawables(null, null, face_smile, null);//setCompoundDrawables() 是设置 EditText 左、上、右、下 图片。如果不想设置或者要取消图片,就将对应参数设置为 null。
48 
49 6、设置背景图片二,布局文件中设置
50 android:drawableLeft="@drawable/face_smile"

 

posted @ 2017-09-25 08:56  代码の足迹  阅读(528)  评论(0编辑  收藏  举报