[英]How can I disable the android emulator keyboard from popping up
在下面的屏幕截圖中,我有一個圖像, 后面是一個scrollview。 scrollview包含一個tablelayout,然后是一些edittext字段,后跟一個按鈕
當我想在我的字段中輸入值時,鍵盤彈出並阻止我對字段的查看,如下所示:
如您所見,它阻止了我對edittext字段的看法。 隱藏鍵盤是否有優雅的解決方案? 如果沒有,我會改變我的布局,但是我不知道該改變什么。 我的布局看起來像:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#CCCCCC"
android:weightSum="1" android:id="@+id/llid">
<TextView ... >
</TextView>
<!-- Image inserted here as an ImageView from my code -->
<ScrollView
android:id="@+id/svid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="3dp">
<LinearLayout>
<TableLayout ... >
<TableRow>
<TextView ... />
<TextView ... />
</TableRow>
<TableRow>
<TextView ... />
<TextView ... />
</TableRow>
<TableRow>
<TextView ... />
<TextView ... />
</TableRow>
</TableLayout>
<EditText>
...
</EditText>
<EditText>
...
</EditText>
<EditText>
...
</EditText>
<Button>
...
</Button>
</LinearLayout>
</ScrollView>
</LinearLayout>
我的第一個想法是去模擬器中的設置:
設置 - >語言和鍵盤並取消選中“Android鍵盤”和其他奇怪的鍵盤,如果它們也被選中
由於仿真器假設模擬手機上會看到的內容,因此如果您嘗試在文本字段中輸入值,則會彈出鍵盤。 我知道這可能很煩人,但你不應該嘗試在你的代碼中禁用它,因為這會在手機上禁用它,然后用戶將如何輸入他們的輸入?
此外,您可以按硬件后退按鈕以在彈出鍵盤時將其解除。
以編程方式,您可以設置鍵盤禁用
public void removeKeyboard(EditText e, Context context){
InputMethodManager keyB = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
keyB.hideSoftInputFromWindow(e.getWindowToken(), 0);
}
其中EditText或其他視圖調用文本輸入
UPDATE! 如果您使用SearchView設置用戶輸入,我發現了一些簡短的方法來關閉鍵盤
nameButton.clearFocus();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.