2013-08-23 91 views
3

我有一个Android活动,并且在整个布局中有一个EditText。出于某种原因,只要活动开始,键盘就会出现。 我已经试过下面的事情都防止EditText自动对焦

  • 配售这两个在OnStart

    FindViewById<EditText> (Resource.Id.searchText).ClearFocus(); 
    FindViewById<EditText> (Resource.Id.searchText).Selected = false; 
    
  • 添加LinearLayout与这两个属性:

    android:focusable="true" android:focusableInTouchMode="true" 
    
  • 添加在另一个内部的以下标签上的布局:

    android:focusable="true" android:focusableInTouchMode="true" 
    
  • 添加该到我的活动清单:

    android:windowSoftInputMode="stateHidden" 
    

仍然,活动开启时键盘打开。我可能做错了什么?

+0

为了谁正在查看,并考虑标记为重复,请不要“T。我读过[这个问题](http://stackoverflow.com/questions/1555109/stop-edittext-from-gaining-focus-at-activity-startup)并尝试了一切。 –

回答

4

试试这个 - this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

1

添加到这个清单文件......

<activity android:name=".YourActivity" android:windowSoftInputMode="stateHidden" /> 
+0

正如我在这个问题中说过的,我已经添加了这个:( –

0

Android的默认目标的第一个可聚焦的对象。虽然kirankk的答案适用于标准活动,但如果您使用具有自定义视图的DialogFragment,则更简单的选项(顺便也适用于标准活动)是让ViewGroup(即LinearLayout/RelativeLayout)包含文本视图在触摸模式下可调焦和可对焦。这可以通过AXML来完成,并且可以防止TextView成为第一个可以聚焦的视图。

6

尝试这些为Xamarin.Android(跨平台)

this.Window.SetSoftInputMode (SoftInput.StateHidden); 

或者

添加此体现,

[Activity(Label = "SampleApp", MainLauncher = true, Icon = "@drawable/icon", WindowSoftInputMode = SoftInput.StateHidden)] 
+1

+1)史诗。 – Matosha