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"