首页 > 作文

软键盘怎么调出来

更新时间:2023-03-01 10:50:50 阅读: 评论:0

婚礼家长致辞精选-扁桃体发炎吃什么好

软键盘怎么调出来
2023年3月1日发(作者:6号人)

ScrollView与EditText焦点、输⼊法弹出问题、常⽤属性随记

1、EditText弹出软键盘遮住输⼊框问题

在Activity中添加配置

在该Activity中的onCretae()的tContentView()⽅法前⾯添加:getWindow().tSoftInputMode(_INPUT_ADJUST_PAN)

含义:把整个Layout顶上去露出获得焦点的EditText,不压缩多余空间.

解释他们的含义:

SOFT_INPUT_ADJUST_NOTHING:不调整(输⼊法完全直接覆盖住,未开放此参数);

SOFT_INPUT_ADJUST_PAN:把整个Layout顶上去露出获得焦点的EditText,不压缩多余空间

SOFT_INPUT_ADJUST_RESIZE:整个Layout重新编排,重新分配多余空间;

SOFT_INPUT_ADJUST_UNSPECIFIED:系统⾃⼰根据内容⾃⾏选择上两种⽅式的⼀种执⾏(默认配置).

这⾥SOFT_INPUT_ADJUST_RESIZE和SOFT_INPUT_ADJUST_PAN和上⾯中的adjustResize和adjustPan效果是⼀样的.

@Overrideprotected

voidonCreate(@NullableBundlesavedInstanceState){

te(savedInstanceState);

//让布局向上移来显⽰软键盘

getWindow().tSoftInputMode(_INPUT_ADJUST_PAN);

tContentView(ty_login);

init();

}

2、EditText和ScrollView连⽤导致EdtiText⽆法获取焦点或焦点⼀闪⽽逝

在布局⽂件xml⾥

ScrollView标签添加属性android:descendantFocusability="blocksDescendants"//后代可聚焦性

EditText标签添加属性android:clickable="true"//可点击

android:focusable="true"//可获取焦点

android:enabled="true"//启⽤

3、实现点击EditText外部隐藏输⼊法且EditText失去焦点(这块焦点逻辑可⽤于其他控件标签)

(1)重写dispatchTouchEvent

@Override

publicbooleandispatchTouchEvent(MotionEventev){

if(ion()==_DOWN){

Viewv=getCurrentFocus();

if(isShouldHideInput(v,ev)){//判断当前点击屏幕的地⽅是否是软键盘

tFocusables(mETProjectName,fal);//使EditText失去焦点,参数2位true则获取焦点,记得在合适的地⽅⾄true,否则ET将⽆法获取焦点

if(hideSoftInputMethod(this,v)){//隐藏输⼊法软键盘

returntrue;//隐藏键盘时,其他控件不响应点击事件==》注释则不拦截点击事件

}

}

}

chTouchEvent(ev);

}

privatevoidtFocusables(EditTexteditText,Booleanb){

getWindow().tSoftInputMode(_INPUT_ADJUST_PAN);//把整个Layout顶上去露出获得焦点的EditText,不压缩多余空间

usable(b);

usableInTouchMode(b);

tFocus();

}

/**

*判断当前点击屏幕的地⽅是否是软键盘

*@paramv

*@paramevent

*@return

*/

publicstaticbooleanisShouldHideInput(Viewv,MotionEventevent){

if(v!=null&&(vinstanceofEditText)){

int[]leftTop={0,0};

ationInWindow(leftTop);

intleft=leftTop[0],top=leftTop[1],bottom=top+ght(),right=left

+th();

if(()>left&&()

&&()>top&&()

//保留点击EditText的事件

returnfal;

}el{

returntrue;

}

}

returnfal;

}

/**

*隐藏软键盘

*@paramcontext

*@paramv

*@return

*/

publicstaticBooleanhideSoftInputMethod(Contextcontext,Viewv){

InputMethodManagerimm=(InputMethodManager)context

.getSystemService(_METHOD_SERVICE);

if(imm!=null){

ftInputFromWindow(dowToken(),0);

}

returnfal;

}

4、EditText输⼊的⽂字为密码形式的设置

(1)通过.xml⾥设置:

把该EditText设为:android:password="true"//以”.”形式显⽰⽂本

(2)在代码⾥设置:

通过设置EditText的tTransformationMethod()⽅法来实现隐藏密码或这显⽰密码。

nsformationMethod(tance());//设置密码为不可见。

5、EditText输⼊的⽂字为电话号码

Android:phoneNumber=”true”//输⼊电话号码

6、EditText字数限制的设置

(1)在.xml中设置:android:maxLength=“50”

(2)代码中设置:

ters(newInputFilter[]{Filter(100)});

7、EditText设置字体

android:typeface="monospace"//设置字型。字形有:normal,sans,rif,monospace

android:numeric="integer"//只接受数字android:numeric来控制输⼊的数字类型,⼀共有三种分别为integer(正整数)、signed(带符号整数,有正负)和decimal(浮

8、在EditText中软键盘的调起、关闭

(1)EditText有焦点(focusable为true)阻⽌输⼊法弹出

editText=(EditText)findViewById(y);

ouchListener(newOnTouchListener(){

publicbooleanonTouch(Viewv,MotionEventevent){

utType(_NULL);//关闭软键盘

returnfal;

}

});

(2)当EidtText⽆焦点(focusable=fal)时阻⽌输⼊法弹出

InputMethodManagerimm=

(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);

ftInputFromWindow(dowToken(),0);

(3)调⽤数字键盘并设置输⼊类型和键盘为英⽂

utType(_CLASS_NUMBER);//调⽤数字键盘

utType(_TEXT_FLAG_MULTI_LINE);//设置输⼊类型和键盘为英⽂或者:android:inputType="textUri|textMultiLine"

(4)android:focusable="fal"//键盘永远不会弹出

//不⾃动弹出键盘

//关闭键盘(⽐如输⼊结束后执⾏)InputMethodManagerimm=(InputMethodManager)getSystemService(_METHOD_SERVICE);ftInp

//⾃动弹出键盘

((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).toggleSoftInput(0,_NOT_ALWAYS);

tFocus();//让EditText获得焦点,但是获得焦点并不会⾃动弹出键盘

9、android:padding和android:layout_margin区别

这两个都可以设置边距,但有细微的区别:

(1)android:padding是相对⽗view的边距

(2)android:layout_margin是相对同⼀级View的边距

例:LinearLayout是⽔平布局,下⾯有两个按钮,

(a)如果右边的按钮想距左边的按钮15px,因为这两个按钮是同⼀级的,应该⽤android:layout_margin;

(b)如果右边的按钮想距左边的距离为350px,应该⽤android:padding

10、android:layout_gravity和android:gravity的区别

(1)android:layout_gravity是本元素对⽗元素的重⼒⽅向。

(2)android:gravity是本元素所有⼦元素的重⼒⽅向

11、使⽤android:imeOptinos可对Android⾃带的软键盘进⾏⼀些界⾯上的设置:

android:imeOptions="flagNoExtractUi"//使软键盘不全屏显⽰,只占⽤⼀部分屏幕同时,这个属性还能控件软键盘右下⾓按键的显⽰内容,默认情况下为回车键android:

12、限定edittext能输⼊数字和字母,并且默认输⼊为数字,如⾝份证号码

android:inputType="number"android:digits="xyzXYZ"//指定输⼊法的类型,int类型,可以⽤|选择多个。取值可以参考:ype类。取值

13、edittext光标详解

tFocusFromTouch();//让光标放⼊到点击位置。tFocus();//默认⽅式获得焦点

EditTexteditor=(EditText)getCurrentView();//光标处插⼊intcursor=ectionStart();t().inrt(cursor,delta);

让光标移到末端(这样⽂字就会向前显⽰)EditTextet=...Stringtext="text";t(text);ection(());

android:cursorVisible="fal"隐藏光标

android:background="#00000000"//不要⽂本框背景

14、EditText常⽤属性汇总

android:layout_gravity="center_vertical"设置控件显⽰的位置:默认top,这⾥居中显⽰,还有bottomandroid:hint="请输⼊数字!"

设置显⽰在空间上的提⽰信息android:numeric="integer"设置只能输⼊整数,如果是⼩数则是:

decimalandroid:singleLine="true"设置单⾏输⼊,⼀旦设置为true,则⽂字不会⾃动换⾏。

android:password="true"设置只能输⼊密码

android:textColor="#ff8c00"字体颜⾊

android:textStyle="bold"字体,bold,italic,bolditalicandroid: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,rif,monospaceandroid:background="@null"空间背景,这⾥没有,指透明

android:layout_weight="1"权重,控制控件之间的地位,在控制控件显⽰的⼤⼩时蛮有⽤的。

android:textAppearance="?android:attr/textAppearanceLargeInver"⽂字外观,这⾥引⽤的是系统⾃带的⼀个外观,?表⽰系统是否有这种外观,否则使⽤默认的

1.密码框属性android:password="true"这条可以让EditText显⽰的内容⾃动为星号,输⼊时内容会在1秒内变成*字样。

2.纯数字android:numeric="true"这条可以让输⼊法⾃动变为数字输⼊键盘,同时仅允许0-9的数字输⼊

3.仅允许android:capitalize="cwj1987"这样仅允许接受输⼊cwj1987,⼀般⽤于密码验证下⾯是⼀些扩展的风格属性

android:editable="fal"设置EditText不可编辑

android:singleLine="true"强制输⼊的内容在单⾏

android:ellipsize="end"⾃动隐藏尾部溢出数据,⼀般⽤于⽂字内容过长⼀⾏⽆法全部显⽰时

本文发布于:2023-03-01 10:50:50,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/167763905093636.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:软键盘怎么调出来.doc

本文 PDF 下载地址:软键盘怎么调出来.pdf

上一篇:翻译官2
下一篇:返回列表
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26 专利检索|