`
loovle
  • 浏览: 145503 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android:只读EditText内容可滚动(禁止输入法)的实现

阅读更多
使用的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中实现`EditText`禁止输入法表情的功能,并提供相关代码示例。 首先,我们需要理解Android中的输入法(IME,Input Method Editor)是如何工作的。当用户在`EditText`中输入时,输入法会...

    Android:利用EditText和ListView_实现动态信息检索

    EditText是Android中的文本输入控件,用于接收用户的输入,而ListView则是一种可滚动的列表视图,通常用于展示大量数据。 首先,我们来看布局文件`routesearch.xml`。这是一个基于TableLayout的布局,包含一个Table...

    android+滚动Edittext

    android+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittextandroid+滚动Edittext

    EditText如何禁止弹出输入法Demo

    3. 除此之外,还可以在布局文件中通过设置`android:inputType`属性为`none`来禁止输入法显示: ```xml ... android:inputType="none" /&gt; ``` 然而,这种方式同样不会阻止触摸事件,用户仍然可以长按编辑框触发...

    Android EditText 仿软键盘删除按钮实现

    这个功能在描述中被称为“长按删除按钮,不断删除EditText中内容”。下面我们将详细探讨如何实现这一特性。 首先,我们需要在`EditText`上添加一个可长按的删除按钮。这通常可以通过创建一个自定义的`Drawable`资源...

    Android:利用EditText和ListView 实现动态信息检索

    总的来说,Android开发中利用EditText和ListView实现动态信息检索是一个常见的需求,通过监听EditText的文本变化并处理过滤逻辑,配合ListView的适配器更新,我们可以构建出用户友好的搜索体验。同时,不断优化搜索...

    Android EditText默认不弹出输入法的实现方法

    "Android EditText默认不弹出输入法的实现方法" Android EditText默认不弹出输入法是Android开发中常见的需求,今天我们来分享三种实现方法,希望对大家有所帮助。 一、通过AndroidManifest.xml文件实现 在...

    android 实现点击edittext的“小眼睛”切换明密文

    在Android开发中,EditText是用于用户输入文本的基本组件。然而,为了增强用户体验和保护隐私,开发者经常需要在EditText中实现一个“小眼睛”图标,让用户能够切换显示密码的明文和密文状态。这个功能常见于登录或...

    常用控件:TextView EditText Button

    &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"&gt; android:id="@+...

    Android开发EditText属性.txt

    ### Android开发中的EditText属性详解 #### 一、概述 `EditText`是Android中非常重要的一个控件,主要用于接收用户输入的文本。它继承自`TextView`,而`TextView`又继承自`View`,因此`EditText`具备了`View`和`...

    Android实现EditText控件禁止输入内容的方法(附测试demo)

    本文实例讲述了Android实现EditText控件禁止输入内容的方法。分享给大家供大家参考,具体如下: 问题: android如何实现EditText控件禁止往里面输入内容? 修改版解决方法: EditText editText = (EditText) ...

    Android-根据EditText内容的变化,自动追加TextView

    本教程将详细讲解如何实现一个功能,即当用户在`EditText`中输入内容时,系统会自动在`TextView`中追加显示这些输入,同时无需手动处理两者之间的间距适配问题。 首先,我们需要在布局XML文件中定义`EditText`和`...

    Android中EditText密码样式设置

    在Android开发中,`EditText` 是一个非常重要的组件,它用于接收用户输入的数据。当我们需要创建如登录、注册等涉及密码输入的界面时,通常会用到`EditText`的密码样式功能。本篇文章将深入探讨如何在Android中设置`...

    EditText监听粘贴内容

    EditText禁止粘贴内容输入,修改粘贴内容, 参考: 禁止EditText 输入粘贴版内容 http://blog.csdn.net/xiaobijia/article/details/41081595

    Android学习笔记六:基本视图组件:EditText

    这篇“Android学习笔记六:基本视图组件:EditText”将深入探讨`EditText`的使用、功能以及相关知识点。 首先,`EditText`继承自`TextView`,因此它具备`TextView`的所有属性,如显示文本、字体样式等。但与`...

    Android EditText随输入法一起移动并悬浮在输入法之上的示例代码

    如此一来,当输入法弹出时,整个包含EditText的布局会随着输入法向上移动,保持在输入法的上方,让用户可以清晰地看到输入的内容。这种方式常见于评论、聊天等需要在屏幕底部输入文字的场景,如QQ或微博的评论功能。...

    Android中EditText的常用效果实现

    综上所述,`EditText`在Android UI设计中扮演着重要角色,通过巧妙地利用其特性和API,我们可以实现丰富的交互和功能,提升用户体验。在实际开发中,应结合项目需求灵活运用这些技术,确保应用界面的友好性和功能的...

    android edittext不弹出软键盘三种方法

    android edittext不弹出软键盘三种方法“: 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如: &lt;activity android:name=".Main" android:...

Global site tag (gtag.js) - Google Analytics