EditText 默认不获取焦点,弹出软键盘布局变形解决方案

关于弹出软键盘布局变形解决方案:

在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan"

在实际开发中,有的页面用到Edittext控件,这时候进入该页面可能会自动弹出输入法

这么显示不太友好,所以需要设置一下让Edittext默认不自动获取焦点。在网上查资料解决办法如下:

在EditText的父级控件中找一个,设置成

android:focusable="true"
android:focusableInTouchMode="true"
<LinearLayout
	android:layout_width="match_parent"
	android:layout_height="74dp"
	android:focusable="true"
	android:focusableInTouchMode="true"
	android:gravity="center_vertical"
	android:orientation="horizontal"
	android:paddingLeft="20dip"
	android:paddingRight="20dip" >

	<TextView
		style="@style/BillDetailLabel"
		android:text="@string/takecar_car_kilometre" />

	<EditText
		android:id="@+id/my_bill_detail_takecar_car_kilometre_content"
		style="@style/BillDetailContent"
		android:layout_width="0dp"
		android:layout_marginLeft="10dp"
		android:layout_weight="1"
		android:gravity="left"
		android:inputType="number"
		android:maxLength="9" />

	<TextView
		style="@style/BillDetailLabel"
		android:layout_marginLeft="2dp"
		android:text="@string/kilometre" />

	<Button
		android:id="@+id/my_bill_detail_takepic_btn"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_marginLeft="10dp"
		android:background="@drawable/my_bill_detail_camera_icon_selector" />
</LinearLayout>

  开始会自动获取焦点的元素是 my_bill_detail_takecar_car_kilometre_content

当我在该 EditText 的父节点 LinearLayout 上面设置了

android:focusable="true"
android:focusableInTouchMode="true"

之后就不会启动这个画面默认启动输入法了

时间: 2024-10-10 00:10:13

EditText 默认不获取焦点,弹出软键盘布局变形解决方案的相关文章

Android中的EditText默认时不弹出软键盘的方法

方法一: 在 AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为 adjustUnspecified|stateHidden 1 <activity android:name=".Main" 2 android:label="@string/app_name" 3 android:windowSoftInputMode="adjustUnspecified|stateHidden&quo

Android--点击EditText的时候弹出软键盘,点击EditText之外空白处软键盘消失

在android中点击EditText的时候会弹出软键盘,但当我们输入完毕或者想隐藏软键盘时,我们可以点击软键盘上的隐藏按钮,这种方法固然可行,但是为了提高用户体验,我们常常要实现这种功能:当输入完毕后想隐藏软键盘时我们通过直接点击EditText的之外的其他空白处就可以隐藏软键盘,这种做法明显比点击软键盘自身的隐藏按钮要方便的多. 要实现上述功能只需重写 public boolean onTouchEvent(MotionEvent event)方法,做相应软键盘隐藏的处理操作即可. Inpu

EditText默认不弹出软键盘

#EditText默认不弹出软键盘# 网上关于EditText默认情况下不弹出软键盘,当手触摸到EditText,获取焦点时候,才会弹出软键盘,貌似都不能用,其实,在oncreate()方法中,加上 getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 就能达到预期效果,至于,让EditText永远不获取焦点的方法,网上大把的,百度即可,暂时没有遇见让EditText永远不获取焦点的场

android的alertdialog中加入edittext但是不弹出软键盘等问题的解决与原因

摘要:alertdialog中加入edittext但是不弹出软键盘等问题网上有很多不管用的解决方案, 本文意在给出更有效的解决办法,并初步探究其原因 正文 在对话框中插入文本框是十分常见的需求 通常我们选择在代码中创建edittext对象 这个时候就需要在代码中给edittext设置输入属性了 但是经常发现设置的属性不起作用,甚至都不弹出软键盘(虽然实体键盘可以输入) 问题的解决方案有很多种,这里介绍一种我比较常用的方法: inputPassEditText.setInputType(Input

【android】禁止Edittext弹出软键盘并且使光标正常显示

/** * 禁止Edittext弹出软件盘,光标依然正常显示. */ public void disableShowSoftInput() { if (android.os.Build.VERSION.SDK_INT <= 10) { editText.setInputType(InputType.TYPE_NULL); } else { Class<EditText> cls = EditText.class; Method method; try { method = cls.get

设置EditText不弹出软键盘

两种方式设置EditText不弹出软键盘 1.设置焦点在其他控件上: 设置 android:focusable="" android:focusableInTouchMode="" 属性为false 2.设置activity不自动弹出软键盘: 在AndroidManifest.xml设置: <activity android:name="smalt.manger.sms.SmsShowDetailItemsActivity" android

EditText 单击无法弹出软键盘

EditText是android系统自带的控件,通过单击,系统会自动调用当前输入法的软键盘,但是有时候却会出现edittext无法弹出软键盘的情况. 说说我目前遇到这种情况的环境.本人在创建一个装着listview的菜单fragment,右边是相应的每个listitem对于的内容,用另一个fragment来包容一些带有edittext控件的布局. 在一开始单击edittext还是正常的,但是当滑动listview的时候,再次单击edittext,居然没有弹出相应的软键盘.这个问题困扰了我许久,因

Android 弹出软键盘android:windowSoftInputMode设置总结

当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入.或者是有使用framentlayout悬浮在底部的button也会挡住输入框. 一.解决办法 方法一: 在你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 方法二:

弹出软键盘时,不把activity整体往上移,只移动部分

如图,EditText在整个activity的最下方,当弹出软键盘时,如果整个activity往上移动,会导致最上面那些部分会看不见,而中间又还有这么多空白的空间,显然不合理. 为了只移动activity中的部分空间,可以将这块部分放在ScrollView中,设置ScrollView的layout_weight="1",即让他占满空位.当弹出软键盘时,就会去移动这部分的空间了.