关于android软键盘enter键的替换与事件监听
EditText设置光标颜色
android:textCursorDrawable="@null"
EditText设置光标位置问题 EditText中有一些预置文本的时候,想把光标调到最前面,一开始是使用的setSelection(0),结果发现在 三星P1000上面有问题。经过研究发现需要先调用EditText.requestFocus(),再调用setSelection(0)。否则的话,在2.x的机器上有问题,但3.x上面是好着的.。
EditText横屏时,弹出软件盘时不进行全屏 在使用EditText进行文本输入时,若不进行特殊的设置,使用Android自带的软键盘,该软键盘会占用整个界面,那么,如何让键盘只占用屏幕的一部分呢?
1. <EditText
2. android:id="@+id/text1"
3. android:layout_width="150dip"
4. android:layout_height="wrap_content"
5. android:imeOptions="flagNoExtractUi"/>
软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有normal,actionUnspecified,actionNone,actionGo,actionSearch,actionSend,actionNext,actionDone,例如当值为actionNext时enter键外观变成一个向下箭头,而值为actionDone时enter键外观则变成了“完成”两个字。 我们也可以重写enter的事件,方法如下:
1. TextView editText = new TextView(this); editText.setOnEditorActionListene(
1. newTextView.OnEditorActionListener() {
2. public boolean onEditorAction(TextView v, int
3. KeyEvent event){
4. if
5. {
6. // 在这里编写自己想要实现的功能
7. }
8. return false;
9. }
10. });
android:imeOptions="flagNoExtractUi" //使软键盘不全屏显示,只占用一部分屏幕 同时,这个属性还能控件软键盘右下角按键的roid:imeOptions="actionNone" //输入框右侧不带任何提示
android:imeOptions="actionGo" //右下角按键内容为'开始'
android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索
android:imeOptions="actionSend" //右下角按键内容为'发送'
android:imeOptions="actionNext" //右下角按键内容为'下一步'
android:imeOptions="actionDone" //右下角按键内容为'完成'
android:lines感觉是用于显示文字的行数,事实上是不确切的。假如文字不满足够的行数呢?
android:lines更适合用于设置TextView的高度,像上面的代码指定了TextView的高度可以显示4行文字,如果文字不满4行,则TextView仍旧显示4行的高度! android:ellipsize用于当文字过长时缩略显示,默认会缩略显示2行!如果和android:singleLine="true"一起使用则显示一行;
android:lines感觉是用于显示文字的行数,事实上是不确切的。假如文字不满足够的行数呢?android:lines更适合用于设置TextView的高度,像上面的代码指定了TextView的高度可以显示4行文字,如果文字不满4行,则TextView仍旧显示4行的高度! android:ellipsize用于当文字过长时缩略显示,默认会缩略显示2行!如果和android:singleLine="true"一起使用则显示一行;