我有Android活动,整个布局中只有一个EditText
。出于某种原因,每当活动开始时,键盘就会出现。
我尝试过所有以下内容:
将这两个放在OnStart
:
FindViewById<EditText> (Resource.Id.searchText).ClearFocus ();
FindViewById<EditText> (Resource.Id.searchText).Selected = false;
使用以下两个属性添加LinearLayout
:
android:focusable="true" android:focusableInTouchMode="true"
在布局上的另一个View
内添加以下标记:
android:focusable="true" android:focusableInTouchMode="true"
将此添加到我的活动清单中:
android:windowSoftInputMode="stateHidden"
但仍然,活动打开时键盘会打开。我能做错什么?
答案 0 :(得分:7)
请尝试Xamarin.Android
(跨平台)
this.Window.SetSoftInputMode (SoftInput.StateHidden);
或者
将此添加到清单
[Activity(Label = "SampleApp", MainLauncher = true, Icon = "@drawable/icon", WindowSoftInputMode = SoftInput.StateHidden)]
答案 1 :(得分:4)
试试这个 - this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
答案 2 :(得分:2)
将此添加到清单文件...
<activity android:name=".YourActivity" android:windowSoftInputMode="stateHidden" />
答案 3 :(得分:0)
Android默认情况下定位第一个可聚焦对象。虽然kirankk的答案适用于标准活动,但如果您使用带有自定义视图的DialogFragment
,则更容易的选项(顺便提一下也适用于标准活动)是制作ViewGroup(即LinearLayout
/ RelativeLayout
)您的文字视图包含在可关注和可聚焦的触摸模式中。这可以通过AXML完成,并防止TextView
成为第一个可聚焦视图。
答案 4 :(得分:0)
我知道这是非常古老的,但是发现将其添加到XML文件的根视图中通常可以防止此问题:
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"