怎么edittext光标不显示设置显示位置

一般Android开发中,EditText控件会在获得焦点的时候,显示外围边框,并且光标显示在文字最前端。我的问题是,怎样能够把这个外围边框换成一条下划线,并且光标出现在文字的最右边?我在网上搜过,有很多文字介绍用自定义EditText,我试过,可以添加下划线,但是外围边框依旧存在。所以我想来这里请教大家,还请大家多多指教!
该问题被发起重新开启投票
投票剩余时间:
之前被关闭原因:
该问题被发起删除投票
投票剩余时间:
距离悬赏到期还有:
参与关闭投票者:
关闭原因:
该问题已经被锁定
锁定原因:()
保护原因:避免来自新用户不合宜或无意义的致谢、跟帖答案。
该问题已成功删除,仅对您可见,其他人不能够查看。
光标出现在最右边:
EditTedit.setSelection(position);
如果你要出现在文字的最右边,那么可以
position = edit.getText().length();
外边框的问题,这个是你控件的background,你修改一下即可具体可以参考
添加下划线,可以通过自定义的EditText实现,如果你已经解决请跳过。
public class MyEditText extends EditText {
private Paint mP
public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
mPaint = new Paint();
mPaint.setStyle(Paint.Style.STROKE);
// 你可以根据自己的具体需要在此处对画笔做更多个性化设置
mPaint.setColor(Color.BLUE);
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawLine(0, this.getHeight() - 1, this.getWidth() - 1,
this.getHeight() - 1, mPaint);
至于光标居右和无边框,只要将此EditText的属性设置为背景为空以及居右就可以了XML文件中的属性:
android:background="@null"android:gravity="right"
希望对你有所帮助
德问是一个专业的编程问答社区,请
后再提交答案
关注该问题的人
共被浏览 (4649) 次[Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
有时候需要让显示在EditText的指定位置或者选中某些文本。同样,为了方便用户输入以提升用户体验,可能需要使获得或失去。
1. 设置光标到指定位置
EditText et = (EditText) findViewById(R.id.etTest);
et.setSelection(2);
PS:当内容过多时,可通过设置光标位置来让该位置的内容显示在屏幕上。
2. 隐藏光标
EditText et = (EditText) findViewById(R.id.etTest);
//设置光标不显示,但不能设置光标颜色
et.setCursorVisible(false);
3. 获得焦点时全选文本
EditText et = (EditText) findViewById(R.id.etTest);
et.setSelectAllOnFocus(true);
PS:此方法可用来在用户点击EditText时,选中默认内容。
4. 获取和失去焦点
EditText et = (EditText) findViewById(R.id.etTest);
et.requestFocus(); //请求获取焦点
et.clearFocus(); //清除焦点
【上一篇】【下一篇】
您可能还会对这些文章感兴趣!
最新日志热评日志随机日志
日志总数:122 篇
评论总数: 篇
标签数量:256 个
链接总数:3 个
建站日期:
运行天数:2942 天
最后更新:当EditText是多行文本时, 光标如何设置在从左上角
概要:设置一个的高度(如,150dp),或者多行时,默认光标的位置是居中显示的
EditText这个组件,当你设置一个的高度(如,150dp),或者多行时,默认光标的位置是居中显示的,如何把光标定位在最上面的左边呢。设置一个属性就可以了,默认EditText 组件的 android:gravity 这个属性的值为 center 把它改为 android:gravity="top" 就ok了!
全部评论()
资料加载中...
已关注 , 取消EditText属性大全 - 这里才是学习Android的好地方
- 博客频道 - CSDN.NET
13217人阅读
本文主要研究一下EditText的属性(还没研究完,边研究边写)
& android:layout_gravity=&center_vertical&//设置控件显示的位置:默认top,这里居中显示,还有bottom
& android:hint=&请输入数字!&//设置显示在空间上的提示信息
& android:numeric=&integer&//设置只能输入整数,如果是小数则是:decimal
& android:singleLine=&true&//设置单行输入,一旦设置为true,则文字不会自动换行。
&&&& android:gray=&top& //多行中指针在第一行第一位置
&& et.setSelection(et.length());//调整光标到最后一行
&&& Android:autoText //自动拼写帮助
&&& Android:capitalize //首字母大写
&&& Android:digits //设置只接受某些数字
&&& Android:singleLine //是否单行或者多行,回车是离开文本框还是文本框增加新行
&&& Android:numeric //只接受数字
&&& Android:password //密码
&&& Android:phoneNumber // 输入电话号码
&&& Android:editable //是否可编辑
&&& Android:autoLink=”all” //设置文本超链接样式当点击网址时,跳向该网址
& android:password=&true&//设置只能输入密码
& android:textColor = &#ff8c00&//字体颜色
&&& android:textStyle=&bold&//字体,bold, italic, bolditalic
&&& android:textSize=&20dip&//大小
&&& android:capitalize = &characters&//以大写字母写
&&& android:textAlign=&center&//EditText没有这个属性,但TextView有
&&& android:textColorHighlight=&#cccccc&//被选中文字的底色,默认为蓝色
&&& android:textColorHint=&#ffff00&//设置提示信息文字的颜色,默认为灰色
&&& android:textScaleX=&1.5&//控制字与字之间的间距
&&& android:typeface=&monospace&//字型,normal, sans, serif, monospace
&&& android:background=&@null&//空间背景,这里没有,指透明
&&& android:layout_weight=&1&//权重 在控制控&& 件显示的大小时蛮有用的。
& android:textAppearance=&?android:attr/textAppearanceLargeInverse&//文字外观,这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。不知道这样理解对不对?
 属性名称描述
  android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
  android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
  android:bufferType指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,
  也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式,参见这里1、这里2。
  android:capitalize设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。
  android:cursorVisible设定光标为显示/隐藏,默认显示。
  android:digits设置允许输入哪些字符。如“.+-*/% ()”
  android:drawableBottom在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
  android:drawableLeft在text的左边输出一个drawable,如图片。
  android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android:drawableRight在text的右边输出一个drawable,如图片。
  android:drawableTop在text的正上方输出一个drawable,如图片。
  android:editable设置是否可编辑。这里无效果,参见EditView。
  android:editorExtras设置文本的额外的输入数据。在EditView再讨论。
  android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”—?省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)
  android:freezesText设置保存文本的内容以及光标的位置。参见:这里。
  android:gravity设置文本位置,如设置成“center”,文本将居中显示。
  android:hintText为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。此属性在EditView中使用,但是这里也可以用。
  android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。
  android:imeActionId设置IME动作ID。在EditView再做说明,可以先看这篇帖子:这里。
  android:imeActionLabel设置IME动作标签。在EditView再做说明。
  android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。
  android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。
  android:inputType设置文本的类型,用于帮助输入法显示合适的键盘类型。在EditView中再详细说明,这里无效果。
  android:linksClickable设置链接是否点击连接,即使设置了autoLink。
  android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。
  android:ems设置TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度,如图:
android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
  android:maxLength限制显示的文本长度,超出部分不显示。
  android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。
  android:maxLines设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
  android:minLines设置文本的最小行数,与lines类似。
  android:lineSpacingExtra设置行间距。
  android:lineSpacingMultiplier设置行间距的倍数。如”1.2”
  android:numeric如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。
  android:password以小点”.”显示文本
  android:phoneNumber设置为电话号码的输入方式。
  android:privateImeOptions设置输入法选项,此处无用,在EditText将进一步讨论。
  android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。
  android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。TextView中设置后无效果。
  android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。效果:
android:shadowDx设置阴影横向坐标开始位置。
  android:shadowDy设置阴影纵向坐标开始位置。
  android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。
  android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text=&test_ singleLine & android:singleLine=&true& android:layout_width=&20dp&将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行
  android:text设置显示文本.
android:shadowDx设置阴影横向坐标开始位置。
  android:shadowDy设置阴影纵向坐标开始位置。
  android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。
  android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text=&test_ singleLine & android:singleLine=&true& android:layout_width=&20dp&将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行
  android:text设置显示文本.
 android:textSize设置文字大小,推荐度量单位”sp”,如”15sp”
  android:textStyle设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开
  android:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
  android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
  android:maxHeight设置文本区域的最大高度
  android:minHeight设置文本区域的最小高度
  android:width设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。
  android:maxWidth设置文本区域的最大宽度
  android:minWidth设置文本区域的最小宽度
  android:textAppearance设置文字外观。如“?android:attr/textAppearanceLargeInverse
  ”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
  android:textAppearance设置文字外观。如“?android:attr/textAppearanceLargeInverse
  ”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceM
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:133547次
积分:1788
积分:1788
排名:第10759名
原创:42篇
评论:38条
(1)(2)(1)(3)(1)(20)(14)Android 可编辑的文本框EditText的使用 - 开发技巧 - ab蓝学网
当前位置: &
Android 可编辑的文本框EditText的使用
简介:我们在学会了在android上显示文本之后,我们接着来学习如何在android录入文本,即使用可编辑的文本框——EditText控件,本讲内容很简单,内容还包括了前面所介绍的Button。创建项目工程...
& &我们在学会了在android上显示文本之后,我们接着来学习如何在android录入文本,即使用可编辑的文本框——EditText控件,本讲内容很简单,内容还包括了前面所介绍的Button。
创建项目工程
& & & &我们创建好EditText工程;
修改布局文件
& & & &我在布局文件上使用了一个EditText控件用来提供给用户录入数据,另外下方使用了一个Button和一个TextView,当用户点击Button时,这个TextView就会显示用户刚刚在EditText中输入的东东。代码如下main.xml:
XML/HTML代码
& &&?xml version="1.0" encoding="utf-8"?& &
& &&LinearLayout xmlns:android="/apk/res/android" &
& & & &android:layout_width="fill_parent" &
& & & &android:layout_height="fill_parent" &
& & & &android:orientation="vertical" & &
& & & &&TextView &
& & & & & &android:layout_width="wrap_content" &
& & & & & &android:layout_height="wrap_content" &
& & & & & &android:text="@string/edit_table" /& &
& & & &&EditText &
& & & & & &android:id="@+id/edittext" &
& & & & & &android:layout_width="match_parent" &
& & & & & &android:layout_height="wrap_content" /& &
& & & &&Button &
& & & & & &android:id="@+id/button" &
& & & & & &android:layout_width="wrap_content" &
& & & & & &android:layout_height="wrap_content" &
& & & & & &android:text="@string/button_title" /& &
& & & &&TextView &
& & & & & &android:id="@+id/show_text" &
& & & & & &android:layout_width="wrap_content" &
& & & & & &android:layout_height="wrap_content" /& &
& &&/LinearLayout& &
& & & & 另外我们还注意到了,在布局文件中使用了一些字符串,如下values\strings.xml:
XML/HTML代码
& &&?xml version="1.0" encoding="utf-8"?& &
& &&resources& &
& & & &&string name="hello"&Hello World, EditTextActivity!&/string& &
& & & &&string name="app_name"&EditText&/string& &
& & & &&string name="edit_table"&请在下方输入:&/string& &
& & & &&string name="button_title"&点我显示内容&/string& &
& &&/resources& &
& & & &修改EditTextActivity.java,这一次我们有别于在介绍Button和Button事件的简单应用时使用onClickListener的方式,这次我们把Activity直接继承于onClickListener,代码如下:
XML/HTML代码
& &public class EditTextActivity extends Activity implements OnClickListener{ &
& & & &/** Called when the activity is first created. */ &
& & & &private EditText mEditT &
& & & &private Button mB &
& & & &private TextView mTextV &
& & & &@Override &
& & & &public void onCreate(Bundle savedInstanceState) { &
& & & & & &super.onCreate(savedInstanceState); &
& & & & & &setContentView(R.layout.main); &
& & & & & &setupView(); &
& & & &} &
& & & &public void setupView(){ &
& & & & & &mEditText = (EditText) findViewById(R.id.edittext); &
& & & & & &mTextView = (TextView) findViewById(R.id.show_text); &
& & & & & &mButton = (Button) findViewById(R.id.button); &
& & & & & &mButton.setId(0); &
& & & & & &mButton.setOnClickListener(this); &
& & & &} &
& & & &@Override &
& & & &public void onClick(View v) { &
& & & & & &// TODO Auto-generated method stub &
& & & & & &if (v.getId() == 0){ &
& & & & & & & &String tmp = mEditText.getText().toString(); &
& & & & & & & &mTextView.setText(tmp); &
& & & & & &} &
& & & &} &
& & & &继承自onClickListener接口时,Eclipse会自动提示我们需要完成该接口的onClick方法,当用户点击Button时会调用该方法,可以看到我们在onClick方法做的处理为:获取mEditText的字符串值,然后再在TextView上显示,就这么简单!
& & & &运行EditText程序,并在EditText中输入字串,效果如下:
点击按钮之后
如果觉得《Android 可编辑的文本框EditText的使用》不错,请把本站告诉您身边的朋友!
转载注明本文地址:
正在加载 Android 可编辑的文本框EditText的使用 评论...}

我要回帖

更多关于 设置edittext不可编辑 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信