3

我有一个 Android 活动,EditText整个布局中有一个。出于某种原因,每当活动开始时,键盘就会出现。我已经尝试了以下所有方法:

  • 将这两个放在OnStart

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

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

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

    android:windowSoftInputMode="stateHidden"
    

但是,当活动打开,键盘会打开。我可能做错了什么?

4

5 回答 5

7

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

this.Window.SetSoftInputMode (SoftInput.StateHidden);

或者

将此添加到清单中,

[Activity(Label = "SampleApp", MainLauncher = true, Icon = "@drawable/icon", WindowSoftInputMode = SoftInput.StateHidden)]
于 2014-01-08T11:14:15.053 回答
4

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

于 2013-08-23T16:45:23.650 回答
2

将此添加到清单文件...

<activity android:name=".YourActivity" android:windowSoftInputMode="stateHidden"  />
于 2013-08-23T16:25:08.900 回答
0

默认情况下,Android 以第一个可聚焦对象为目标。虽然kirankk的答案适用于标准活动,但如果您使用DialogFragment带有自定义视图的 a ,则更简单的选项(顺便也适用于标准活动)是使您的文本视图包含在焦点和在触摸模式下可聚焦。这可以从 AXML 完成并防止成为第一个可聚焦的视图。LinearLayoutRelativeLayoutTextView

于 2013-09-10T10:35:36.093 回答
0

我知道这是超级旧的,但发现将其添加到 XML 文件中的根视图通常有助于防止此问题:

 android:descendantFocusability="beforeDescendants"
 android:focusableInTouchMode="true"
于 2018-10-15T08:39:01.633 回答