EditText的讲解

一、《实例一》:用户登录

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff"
android:gravity="center">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/txt_radiuborder"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:orientation="vertical"
android:paddingLeft="20dp"
android:paddingRight="20dp">
<EditText
android:id="@+id/edit1"
android:layout_width="match_parent"
android:layout_height="100dp"
android:drawableLeft="@mipmap/ic_account"
android:drawablePadding="60px"
android:padding="5px"
android:singleLine="true"
android:hint="用户名"
android:textColorHint="#98f5ff"
android:textSize="30sp"/>
<EditText
android:id="@+id/edit2"
android:layout_width="match_parent"
android:layout_height="100dp"
android:drawableLeft="@mipmap/ic_password"
android:drawablePadding="60px"
android:padding="5px"
android:singleLine="true"
android:hint="密码"
android:textColorHint="#98f5ff"
android:textSize="30sp"/>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="30dp"
android:text="登录"
android:textSize="30sp"
android:textColor="#000000"
android:textStyle="bold"
android:background="@drawable/txt_radiuborder"/>
</LinearLayout>

属性说明:很多属性和TextView相同就不做过多的解释,这里就对这两个属性进行说明:

android:hint="默认提示文本" android:textColorHint="#95A1AA",第一个属性设置提示信息,第二个属性设置提示信息的颜色

二、常用的属性详解

(1)获得焦点后选择所有的文本内容android:selectAllOnFocus="true"

(2)限制EditText的输入类型android:inputType="phone"

  类型描述:文本型

android:inputType="none"
android:inputType="text"
android:inputType="textCapCharacters"
android:inputType="textCapWords"
android:inputType="textCapSentences"
android:inputType="textAutoCorrect"
android:inputType="textAutoComplete"
android:inputType="textMultiLine"
android:inputType="textImeMultiLine"
android:inputType="textNoSuggestions"
android:inputType="textUri"
android:inputType="textEmailAddress"
android:inputType="textEmailSubject"
android:inputType="textShortMessage"
android:inputType="textLongMessage"
android:inputType="textPersonName"
android:inputType="textPostalAddress"
android:inputType="textPassword"
android:inputType="textVisiblePassword"
android:inputType="textWebEditText"
android:inputType="textFilter"
android:inputType="textPhonetic"
数字型:
android:inputType="number"
android:inputType="numberSigned"
android:inputType="numberDecimal"
android:inputType="phone"//拨号键盘
android:inputType="datetime"
android:inputType="date"//日期键盘
android:inputType="time"//时间键盘
(3)设置最小行,最大行,单行,多行,自动换行
最小行的行数:android:minLines="3"
最大的行数:android:maxLines="3"
设置字与字的水平间隔:android:textScaleX="1.5"
设置字与字的垂直间隔:android:textScaleY="1.5"
设置英文字母大写类型的属性:android:capitalize 默认none,还有三个可选项
  • sentences:仅第一个字母大写
  • words:每一个单词首字母大小,用空格区分单词
  • characters:每一个英文字母都大写

(4)EditText四周的间隔距离与内部文字与边框间的距离:和TextView一样padding

(5)EditText的光标控制:在Java代码中使用setSelection(int index)或者setSelection(int start,int end),其中一个参数的是设置光标位置的,两个参数的是设置起始位置与结束位置的中间括的部分,即部分选中!

当然我们也可以调用setSelectAllOnFocus(true);让EditText获得焦点时选中全部文本!
另外我们还可以调用setCursorVisible(false);设置光标不显示
还可以调用getSelectionStart()和getSelectionEnd获得当前光标的前后位置

三、实例二:带有表情文本输入框

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff"
android:gravity="center">
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="30dp"
android:text="添加表情"
android:textSize="30sp"
android:textColor="#000000"
android:textStyle="bold"
android:background="@drawable/txt_radiuborder"/>
<EditText
android:id="@+id/edit1"
android:layout_width="match_parent"
android:layout_height="100dp"
android:padding="5px"
android:singleLine="true"/> </LinearLayout>

Java文件:

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ImageSpan;
import android.view.View;
import android.widget.Button;
import android.widget.EditText; public class MainActivity extends Activity {
private EditText editText1;
private Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = (EditText) findViewById(R.id.edit1);
btn1 = (Button) findViewById(R.id.btn1);
// 设置监听事件
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SpannableString ss = new SpannableString("img");
Drawable drawable = MainActivity.this.getResources().getDrawable(R.mipmap.ic_launcher);
drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
ImageSpan imageSpan = new ImageSpan(drawable,ImageSpan.ALIGN_BASELINE);
ss.setSpan(imageSpan,0,3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
int cursor = editText1.getSelectionStart();
editText1.getText().insert(cursor,ss);
}
});
}
}

效果图:

aaarticlea/png;base64,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06ZNGjSo37JlC6HQUyYTt23bBq0HAKhEvLSevrV+/XpSqUgqFZmYGKP1AACVhd/WGxgYeHq6eXtLGjZsgNYDAFQWflsvEAhcXZ29vSWffdYErQcAqCxoPVoPAPqvyszhNETrAQAqS5V5bdYErQcAqCy8tP6zz6hzLptT51y2a4dzLgEAKhOP76WSycR4LxUAwMfwUa6R0Lz4NRKat2jRHNdIAD2nVCqzipT5ac7cys3Npb91uXei5Q+fn59Pb6lSqcr97aCy4dpnaH31olKp9uzZo7myfEr5Rr/99hv9a3rr1q3K/DupGzVqFP2t8/Pzy7GHjIwMeg+XLl0qZcsNGzbQW7569aq8PzJUOrQera9GXr161a5dO4FA0L17d+YnLPv4+NTVnb29fSnfC62HKgWtR+uri3fv3lGhp7i5ub18+ZK6yd3dvRy/rG3bti3l22nT+uvXr58ry40bN5h3OXHixMqyyGQy+lvHxsaWvvHOnTs1fzDN1t+6dashG+a/1QYNGrBus3Xr1vINGXCo8j5vViz2KseCz5uFSvTgwYO2bdvSvz0uLi7Pnj0j+Wt9t27dyvwucrmceZfBgweX40cthbOzs+YPptn6GzdulPtbbNy4sdxDBlzhvPXU+fIVWcRiL1PTOlp+O7QedJOenm5paUn/Arm5uZEkefv27avFnThxgt4mKirqKpubN2+W8o30r/UGJaC3LGkDtL4q4Lz1phyowzwLs3RoPegsKyurTZs2AoGgRo0aK1euZN3m4MGD9C/Zn3/+qeWer169mlJk06ZN9B527tyZUtzVq1dJRutr167durjatWtTN6m1fty4ca3Lwvx/8eeff176xt26ddP8izBbv3fvXnq9UsP3339Pb/nixQvNDbQdFahknLf+I0ProTweP37cuHHjNWvWvH///l8Nd+7coWf269ev/88//2huQ6Mn/UmStLKy0vIX19LSkmS0PiAgQO0nDAgIoG5Sa702KvLabERExLp1665cuULvwdDQkHpmKigoKMc/UUzWVxFoPVpfvdBHmnl5eSRJXrx4sYK/giNHjqR3rn3rraysyPK2/uLFi1GlEovF9DdaunRpKVvu27dPbedCoVDzpzUzM3vz5g1a/0lD69H6auThw4ctWrS4ffs2veZTbP3ixYsr+DPTFAqF2s6p2S36AlU0X19ftP6Thtaj9dXF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" alt="" />

四、实例三:带有删除按钮的文本输入框(自定义输入框)

自定义组件的Java代码:

package com.example.test3;

import android.content.Context;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.EditText; /**
* Created by coder-tu on 2016/1/3.
* 自定义带有删除按钮的EditText
*/
public class EditTextWithDel extends EditText {
private final static String TAG = "EditTextWithDel";
// 定义删除图标
private Drawable drawable;
private Context mContext; public EditTextWithDel(Context context) {
super(context);
mContext = context;
init();
} public EditTextWithDel(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
init();
} public EditTextWithDel(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mContext = context;
init();
} private void init() {
drawable = mContext.getResources().getDrawable(R.mipmap.delete);
addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override
public void afterTextChanged(Editable editable) {
setDrawable();
}
});
setDrawable();
} /**
* 设置删除图片
*/
private void setDrawable() {
if (length() < 1) {
setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
} else {
setCompoundDrawablesWithIntrinsicBounds(null, null, drawable, null);
}
}
/**
* 处理删除事件
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
if(drawable != null && event.getAction() == MotionEvent.ACTION_UP){
int eventX = (int) event.getRawX();
int eventY = (int) event.getRawY();
Log.e(TAG, "eventX = " + 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 {
super.finalize();
}
}

在布局文件中使用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff"
android:gravity="center">
<com.example.test3.EditTextWithDel
android:layout_width="match_parent"
android:layout_height="50dp"
android:hint="带有删除按钮的EditText"/> </LinearLayout>

效果图:

aaarticlea/png;base64,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" alt="" />

android基本控件学习-----EditText的更多相关文章

  1. android基本控件学习-----TextView

    一.TextView的讲解 <实例一> <?xml version="1.0" encoding="utf-8"?> <Linea ...

  2. android基本控件学习-----Button

    Button讲解: 一.在我们实际的使用button的时候经常会对button不同状态会有不同的显示,在讲解Button前,首先对drawable下面的statelistdrawable的相关知识讲一 ...

  3. android基本控件学习-----ImageView

    ImageView的讲解 一.src和background的区别 background我们通常理解是背景,而src是内容,当使用src填入图片的时候是以图片的大小直接填充,并不会进行拉伸,而backg ...

  4. android基本控件学习-----Date&Time

    Date&Time这里一共讲解下面6个: TextClock(文本时钟),AnalogClock(模拟时钟),Chronometer(计时器),DatePicker(日期选择器),TimePi ...

  5. Android之控件学习

    文本域,类似于HTML里的textarea <EditText android:id="@+id/edit_text" android:layout_width=" ...

  6. android基本控件学习-----ToggleButton&Switch

    ToggleButton(开关按钮)和Switch(开关)讲解: 一.核心属性讲解: (1)ToggleButton textOn:按钮被选中的时候文字显示 textOff:按钮没有被选中的时候文字显 ...

  7. android基本控件学习-----RadioButton&CheckBox

    RadioButton(单选框)和CheckBox(复选框)讲解: 一.基本用法和事件处理 (1)RadioButton单选框,就是只能选择其中的一个,我们在使用的时候需要将RadioButton放到 ...

  8. android基本控件学习-----ProgressBar

    ProgressBar(进度条)讲解 一.常用属性和基础使用实例 (1)常用属性: android:max:进度条的最大值 android:progress:进度条已完成进度值 android:pro ...

  9. android基本控件学习-----SeekBar&RatingBar

    SeekBar(拖动条)和RatingBar(星级评分条)讲解 一.SeekBar(拖动条) (1)拖动条简单理解就是可以拖动的线,这个对我们来讲很常见,比如视频播放或者音乐播放我们拖动播放的进度,下 ...

随机推荐

  1. 绘制圆形 和 椭圆形:边圆形 imageellipse() 、 填充圆形imagefilledellipse()

    <?php //1. 绘制图像资源(创建一个画布) $image = imagecreatetruecolor(500, 300); //2. 先分配一个绿色 $green = imagecol ...

  2. mysql中的FROM_UNIXTIME()函数和UNIX_TIMESTAMP()函数

    unix_timestamp 是时间戳,可以用数据库里的存储时间数据的字段 from_unixtime 是将时间戳格式化为你想要时间

  3. 解析XML格式数据

    学习解析XML格式的数据前,搭建一个简单的web服务器,在这个服务器上提供xml文本用于练习. 一.搭建Apache服务器 在Apache官网下载编译好的服务器程序,安装.对于Windows来说127 ...

  4. Hie with the Pie POJ - 3311

    Hie with the Pie POJ - 3311 The Pizazz Pizzeria prides itself in delivering pizzas to its customers ...

  5. 并查集:HDU1213-How Many Tables(并查集最简单的应用)

    How Many Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...

  6. HDU 5657 CA Loves Math 状压DP + 枚举

    题意: 给出\(A(2 \leq A \leq 11), n(0 \leq n \leq 10^9), k(1 \leq k \leq 10^9)\). 求区间\([1, A^n]\)中各个数字互不相 ...

  7. poj3613:Cow Relays(倍增优化+矩阵乘法floyd+快速幂)

    Cow Relays Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7825   Accepted: 3068 Descri ...

  8. windows控制台主题美化工具-colortool

    最近在win10上装了 wsl 系统,发现界面主题太挫,文件夹颜色很不清晰 . 特此在网上搜索了一下,发现了 colortool 这个工具 这是微软官方提供的用于控制台配色的程序 发布版本地址:htt ...

  9. centos使用--vsftpd配置

    目录 1 在服务器配置FTP服务 1.1 在root权限下,通过如下命令安装Vsftp(以CentOS系统为例): 1.2 在启动vsftpd服务之前,需要登录云服务器修改配置文件,禁用匿名登录. 1 ...

  10. leetcode 【 Linked List Cycle II 】 python 实现

    公司和学校事情比较多,隔了好几天没刷题,今天继续刷起来. 题目: Given a linked list, return the node where the cycle begins. If the ...