欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Edittext 默认不自动获取焦点_为什么Edittext会自动获取焦点

程序员文章站 2022-03-01 16:19:08
...

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

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

在EditText的父级控件中找一个,设置成下面这样就好咯

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


这样,就把EditText默认的行为截断了!、下面是我在项目中的使用方法、共大家参考

<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"


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