EditText

Posted lobin的代码成长之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EditText相关的知识,希望对你有一定的参考价值。

EditText

1、 <CounterTextLayout
android:id="@+id/input_translation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/va_translation_edit_margin_start"
android:layout_marginTop="0dp"
android:layout_toStartOf="@id/rl_send"
android:background="@drawable/rect_corner_edittext">//当给EditText设置圆角背景属性的时候,外层有CounterTextLayout,需要把圆角背景属性设置在CounterTextLayout布局中

<EditText
android:id="@+id/origin_txt_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="0dp"

android:hint="@string/translation_input_txt_default"
android:imeOptions="actionDone"
android:lineSpacingMultiplier="@androidhwext:dimen/text_default_spacing_emui"
android:maxLines="8"
android:paddingBottom="8dp"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:paddingTop="8dp"
android:scrollbarStyle="outsideOverlay"
android:scrollbarThumbVertical="@drawable/scroll_slider"
android:scrollbars="vertical"
android:textColor="@color/black_color_txt_alpha_100_no_dark_style"
android:textColorHint="@color/black_color_txt_alpha_20"
android:textSize="15sp" />
</CounterTextLayout>


2、rect_corner_edittext.xml,drawable文件下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">//表示画矩形

<solid android:color="@color/black_color_txt_alpha_5"></solid>//矩形填充颜色
<stroke
android:width="0dp"
android:color="@color/black_color_txt_alpha_5"></stroke>//矩形描边,边的宽度和颜色
<corners android:radius="20dp"/>//矩形圆角度数

</shape>

3、.xml 可被设置为editText背景background
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
//文本框EditText在正常情况下的状态
<item
android:state_window_focused="false"
android:drawable="@drawable/bg_edittext_normal" />
//文本框在获得焦点情况下的背景状态
<item
android:state_focused="true"
android:drawable="@drawable/bg_edittext_focused" />
</selector>

4、可在代码中设置EditText背景颜色,但是没有矩形圆角效果
mView.findViewById(R.id.editText).setBackgroundResource(R.color.caution);

5、设置背景图片
float size = ((EditText)mView.findViewById(R.id.editText)).getTextSize();
int wh = (int)Math.floor(size);

Drawable face_smile = mView.getResources().getDrawable(R.drawable.face_smile, null);
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());

((EditText)mView.findViewById(R.id.editText)).setCompoundDrawables(null, null, face_smile, null);//setCompoundDrawables() 是设置 EditText 左、上、右、下 图片。如果不想设置或者要取消图片,就将对应参数设置为 null。

6、设置背景图片二,布局文件中设置
android:drawableLeft="@drawable/face_smile"

以上是关于EditText的主要内容,如果未能解决你的问题,请参考以下文章

使用SQLite保存数据并将其添加到ListView

自定义ANDROID中EDITTEXT中的HINT文本的大小

当TextWatcher存在时退格/删除时按EditText光标位置

android-edittext键盘不显示

Android文本输入框EditText属性和方法说明

Android文本输入框EditText属性和方法说明