UI控件之编辑文本控件EditText
来源:互联网 发布:游族网络股份有限公司 编辑:程序博客网 时间:2024/06/05 09:36
(一)概述
EditText是除了TextView控件之外的属性,还可以实现输入文本内容。
(二)实际开发中的应用
N0.1 —–设置默认提示文本
常用的用户登录界面相信大家都很熟悉吧,就像这样:
默认提示文本的俩个属性,如下:
hint用于设置默认提示的文本,textColorHint用于设置提示文本的颜色;
No.2 —-获得焦点后全选组件内所有文本内容
当我们点击EditText输入框后获得焦点后,不是将光标移动到文本的开始或者结尾;而是获取输入框中的所有文本内容的话!这个时候我们可以使用selectAllFocus属性;
android:selectAllFocus=”true”
下面是效果图:
第一个具有 android:selectAllFocus=”true”属性,点击后会选中 所有文本,而第二个是没有 android:selectAllFocus=”true”属性的,所以,点击后不会选中所有文本;
No.3—–限制EditText输入类型
比如限制只能为电话号码,密码(textPassword):
可选参数如下:
文本类型,多为大写,小写和数字符号
数值类型:
No.4—–设置最小行,最多行,单行,多行,自动换行;
NO.5 —–设置文本间隔,设置英文字母大写类型
我们可以通过下述俩个属性来设置字的间距:
NO.6 —– 控制EditText四周的间隔距离与内部文字和边框间的距离
NO.7 —– 设置EditText获得焦点同时弹出小键盘
首先是让EditText获得焦点跟清除焦点的
获得焦点后弹出小键盘:
第一种:
第二种:
NO.8 —– EditText光标位置的控制
NO.9 —–带表情的EditText简单实现
代码实现:
public class EditText_03 extends Activity { private Button etdBtn; private EditText edt3; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.edit_text_03_activity); final EditText edt3 = (EditText) findViewById(R.id.edt3); Button etdBtn = (Button) findViewById(R.id.etdBtn); etdBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { int randomId = 1 + new Random().nextInt(9); SpannableString spannableString = new SpannableString( "face"); Drawable drawable = getResources().getDrawable(R.drawable.gg); drawable.setBounds(0, 0,drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); ImageSpan imageSpan = new ImageSpan(drawable , ImageSpan.ALIGN_BASELINE); spannableString.setSpan(imageSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); spannableString.setSpan(imageSpan, 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); int cursor = edt3.getSelectionStart(); edt3.getText().insert(cursor, spannableString); } }); }}
No.10 带删除按钮的EditText
我们常常会看到这样的界面:
看到最后面的那个“X”了吗?
实现代码如下:
public class CoustomEditTextForDel extends EditText { private static String TAG = "CoustomEditTextForDel"; private Drawable imgInable; private Drawable imgInAble; private Context mContext; public CoustomEditTextForDel(Context context) { super(context); mContext = context; init(); } public CoustomEditTextForDel(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; init(); } public CoustomEditTextForDel(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); mContext = context; init(); } private void init() { imgInable = mContext.getResources().getDrawable(R.drawable.del); addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub setDrawable(); } }); setDrawable(); } //设置删除图片 private void setDrawable(){ if (length() < 1) { setCompoundDrawablesWithIntrinsicBounds(null, null, null, null); }else { setCompoundDrawablesWithIntrinsicBounds(null, null, imgInable, null); } } //处理删除事件 @Override public boolean onTouchEvent(MotionEvent event) { if (imgInAble !=null && event.getAction() == MotionEvent.ACTION_UP) { int eventX =(int)event.getRawX(); int eventY =(int)event.getRawY(); Log.e(TAG, "xys"+"evenX" + eventX +"; eventY = "+eventY); Rect rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - 100; if (rect.contains(eventX , eventY)) { setText(""); } } return super.onTouchEvent(event); } @Override protected void finalize() throws Throwable { // TODO Auto-generated method stub super.finalize(); }}
这是属于进阶技术自定义EditText了,后面我会详细介绍,不要着急~~完
- UI控件之编辑文本控件EditText
- EditText编辑文本控件
- EditText编辑文本控件
- TextView(文本控件) and EditText(编辑控件)
- 可编辑的文本控件EditText
- Android UI控件详解-EditText(编辑框)
- Android之编辑框(EditText)控件
- edittext文本输入控件
- UI控件--EditText
- Android常用控件二之编辑文本的控件
- j2me 低级UI控件之文本域
- UI控件之显示文本控件TextView(上)
- 文本控件:TextView与EditText
- UI控件----EditText 实例总结
- UI基础----常见控件的使用之EditText
- Android02--Android之UI控件TextView+Button+EditText
- [Android新手学习笔记12]-UI控件之EditText
- android控件之EditText
- [LeetCode] Count Numbers with Unique Digits
- 今天起决定写一个开源的建筑结构分析软件
- Reactor模式
- centos开启ssh连接
- 虹
- UI控件之编辑文本控件EditText
- Sublime Text 2 设置文件详解
- 关于FPGA驱动TFT屏渐变显示出现条纹的问题解决
- 80道常见数据结构面试题及其解法
- android rom移植知识普及
- CSS学习9(表布局)
- Android编码规范
- 欢迎使用CSDN-markdown编辑器
- GEF原理及实现系列(一、GEF概述)