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"