实验设备为HTC hero (SDK 2.1-update1)
使用的layout文件内容如下:
<EditText
android:id="@+id/edt_url"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text=""
android:singleLine="true"
android:ellipsize="none"
android:editable="false"
android:inputType="none"
/>
其中,属性android:ellipsize默认为“end”(Google的文档中未说明),即省略掉内容的后半部分;把它置为“none”,且置属性android:singleline为true,不用设置横向滚动,即可实现文字在只读EdiText中的滚动。
另,对于只读EditText是不需要显示软键盘的。以下代码实现隐藏软键盘:
private void hideIM(View edt){
// try to hide input_method:
try {
InputMethodManager im = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
IBinder windowToken = edt.getWindowToken();
if(windowToken != null) {
// always de-activate IM
im.hideSoftInputFromWindow(windowToken, 0);
}
} catch (Exception e) {
Log.e("HideInputMethod", "failed:"+e.getMessage());
}
}
private OnFocusChangeListener focus_listener_noIM = new OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus==true) {
hideIM(v);
}
}
};
private OnTouchListener touch_listener_noIM = new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN) {
hideIM(v);
}
return false; // dispatch the event further!
}
};
// 以下是Activity的onCreate()函数的片断:
public void onCreate(Bundle savedInstanceState) {
...
EditText edt_url = (EditText)findViewById(R.id.edt_url);
edt_url.setOnFocusChangeListener(focus_listener_noIM);
edt_url.setOnTouchListener(touch_listener_noIM);
...
}
分享到:
相关推荐
本文将详细介绍如何在Android中实现`EditText`禁止输入法表情的功能,并提供相关代码示例。 首先,我们需要理解Android中的输入法(IME,Input Method Editor)是如何工作的。当用户在`EditText`中输入时,输入法会...
EditText是Android中的文本输入控件,用于接收用户的输入,而ListView则是一种可滚动的列表视图,通常用于展示大量数据。 首先,我们来看布局文件`routesearch.xml`。这是一个基于TableLayout的布局,包含一个Table...
android+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittext
3. 除此之外,还可以在布局文件中通过设置`android:inputType`属性为`none`来禁止输入法显示: ```xml ... android:inputType="none" /> ``` 然而,这种方式同样不会阻止触摸事件,用户仍然可以长按编辑框触发...
这个功能在描述中被称为“长按删除按钮,不断删除EditText中内容”。下面我们将详细探讨如何实现这一特性。 首先,我们需要在`EditText`上添加一个可长按的删除按钮。这通常可以通过创建一个自定义的`Drawable`资源...
总的来说,Android开发中利用EditText和ListView实现动态信息检索是一个常见的需求,通过监听EditText的文本变化并处理过滤逻辑,配合ListView的适配器更新,我们可以构建出用户友好的搜索体验。同时,不断优化搜索...
"Android EditText默认不弹出输入法的实现方法" Android EditText默认不弹出输入法是Android开发中常见的需求,今天我们来分享三种实现方法,希望对大家有所帮助。 一、通过AndroidManifest.xml文件实现 在...
在Android开发中,EditText是用于用户输入文本的基本组件。然而,为了增强用户体验和保护隐私,开发者经常需要在EditText中实现一个“小眼睛”图标,让用户能够切换显示密码的明文和密文状态。这个功能常见于登录或...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> android:id="@+...
### Android开发中的EditText属性详解 #### 一、概述 `EditText`是Android中非常重要的一个控件,主要用于接收用户输入的文本。它继承自`TextView`,而`TextView`又继承自`View`,因此`EditText`具备了`View`和`...
本文实例讲述了Android实现EditText控件禁止输入内容的方法。分享给大家供大家参考,具体如下: 问题: android如何实现EditText控件禁止往里面输入内容? 修改版解决方法: EditText editText = (EditText) ...
本教程将详细讲解如何实现一个功能,即当用户在`EditText`中输入内容时,系统会自动在`TextView`中追加显示这些输入,同时无需手动处理两者之间的间距适配问题。 首先,我们需要在布局XML文件中定义`EditText`和`...
在Android开发中,`EditText` 是一个非常重要的组件,它用于接收用户输入的数据。当我们需要创建如登录、注册等涉及密码输入的界面时,通常会用到`EditText`的密码样式功能。本篇文章将深入探讨如何在Android中设置`...
EditText禁止粘贴内容输入,修改粘贴内容, 参考: 禁止EditText 输入粘贴版内容 http://blog.csdn.net/xiaobijia/article/details/41081595
这篇“Android学习笔记六:基本视图组件:EditText”将深入探讨`EditText`的使用、功能以及相关知识点。 首先,`EditText`继承自`TextView`,因此它具备`TextView`的所有属性,如显示文本、字体样式等。但与`...
如此一来,当输入法弹出时,整个包含EditText的布局会随着输入法向上移动,保持在输入法的上方,让用户可以清晰地看到输入的内容。这种方式常见于评论、聊天等需要在屏幕底部输入文字的场景,如QQ或微博的评论功能。...
综上所述,`EditText`在Android UI设计中扮演着重要角色,通过巧妙地利用其特性和API,我们可以实现丰富的交互和功能,提升用户体验。在实际开发中,应结合项目需求灵活运用这些技术,确保应用界面的友好性和功能的...
android edittext不弹出软键盘三种方法“: 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如: <activity android:name=".Main" android:...