Android:只读EditText内容可滚动(禁止输入法)的实现(2010-08-26 10:09:36)
转载标签: it
实验设备为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);
...
}
分享到:
相关推荐
此扩展程序是为真正的粉丝创建的,而不仅仅是为他们创建的。 如果您是其中的一员,那么请毫无疑问,并为您的Chrome新建标签页安装此出色的扩展程序。 让我们为您的浏览过程带来一些色彩和亮度! 让我们用我们全新的...
Сoolthemewithsoljiexidwallpaperforyournewtab 使用高清晰度背景和壁纸 - Solji Exid壁纸HD主题。...你不喜欢失望!我们的配置应用程序显示邮箱中有多少条消息,并有助于访问最近浏览的网站列表。 语言:English
条码放置器 当预期的品种ID不匹配序列相似性搜索agains的结果种/类ID这个脚本是必需的数据库。 它需要合并的条形码序列作为输入,以及预期的物种ID(EXID)和结果物种/属ID(REXID)。 使用BOLD API,它可以提取EXID...
下面是一个简单的示例,其中您通过Github秘密传递AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY ,并以其他外部ID DEPLOYMENT_EXID承担在DEPLOYMENT_ROLE中传递的角色。 该操作将为后续步骤设置所需的凭据。 对于更多...
* STID[10:0]/EXID[28:18]:标准标识符或扩展标识符(Standard Identifier or Extended Identifier),用于存储CAN总线的发送邮箱标识符。 * EXID[17:0]:扩展标识符(Extended Identifier),用于存储CAN总线的扩展...
JQUERY + JSON,无数据库,纯JS代码,无加密,无压缩,可直接使用在任何项目中。 说明:数据来源于国家统计局官网。 先上图: 绑定省市区 使用方法: 1. 引用JQUERY [removed][removed] 2. 引用省市区数据 &...
实现方式千差万别,满足自己需求的才是最好的。 插件版提供了两种方式: distpicker版 <!...<...link href="css/city.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" type="text/css" /&...