Активность с EditText в макете, EditText выбран по умолчанию - PullRequest
0 голосов
/ 21 июля 2011

У меня есть Activity с простой компоновкой, своего рода «искусственный» веб-браузер с EditText для ввода URL, определяемый следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" 
android:layout_width="match_parent"
android:layout_height="match_parent">
    <LinearLayout 
        android:orientation="horizontal" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingBottom="6dp"
        android:background="@drawable/activity_title_bar">
    <EditText 
        android:id="@+id/address" 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:maxLines="1"
        android:scrollHorizontally="true"
        android:hint="@string/browser_hint_url"
        android:text="@string/browser_url">
    </EditText>
    <ImageButton
        android:id="@+id/button_refresh"
        android:layout_width="50dp"
        android:layout_height="match_parent" 
        android:src="@drawable/browser_button_refresh">
    </ImageButton>
</LinearLayout>
<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true">
    <ImageView
        android:layout_width="882sp" 
        android:layout_height="1532sp"
        android:src="@drawable/browser_background">     
    </ImageView>
</ScrollView>
</LinearLayout>

Проблема, с которой я столкнулся, заключается в том, что при запуске Activity по умолчанию выбирается EditText и активируется программная клавиатура. Я хотел бы, чтобы ничего не было выбрано для запуска, и, следовательно, не иметь активной программной клавиатуры, но не могу понять, как это сделать с помощью XML.

Есть предложения?

Спасибо, Пол

Ответы [ 2 ]

1 голос
/ 21 июля 2011
android:windowSoftInputMode=[         "stateUnchanged", "stateHidden",
                                       "stateAlwaysHidden", "stateVisible",
                                       "stateAlwaysVisible",
                                       "adjustResize", ] >   

Используйте часть этого в своем манифесте, это скроет автоматическое всплывающее окно с клавиатурой. Однако, если вы используете ваш EditText для некоторого ввода, вам понадобится клавиатура. :)

stateHidden сделает работу

0 голосов
/ 21 июля 2011

получить ссылку на одно из ваших других представлений, либо ImageButton, либо LinearLayout. Затем в вашем методе onCreate () вызовите view.requestFocus(); в представлении, отличном от EditText, и оно отнимет фокус и не позволит отображать клавиатуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...