在活动开始时android上没有自动onscreenkeyboard

时间:2011-08-26 04:19:10

标签: java android xml

我希望我的应用程序在活动中有edittext并启动活动时不会自动显示屏幕键盘。

这是我的XML布局

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:orientation="vertical" android:background="@drawable/background"
    android:layout_width="fill_parent" android:layout_height="fill_parent">

    <TextView android:id="@+id/versionname"
        android:layout_alignParentTop="true" android:layout_alignParentRight="true"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_marginTop="5dp" android:layout_marginRight="5dp"
        android:text="@string/versionname" />

    <ScrollView android:layout_height="fill_parent" android:id="@+id/scrollView1"
        android:layout_width="fill_parent" android:layout_marginBottom="50dp">
        <TableLayout android:layout_gravity="center"
            android:layout_height="wrap_content" android:layout_width="wrap_content">
            <TextView android:gravity="center" android:text="Login"
                android:id="@+id/setlogin" style="@style/headerFont"></TextView>
            <TextView android:text="Username :" android:id="@+id/setuser"
                style="@style/regFont" android:layout_marginTop="10dp"></TextView>
            <EditText android:layout_width="250dip" android:id="@+id/loginuser"
                android:layout_height="wrap_content" android:inputType="textPersonName"
                android:background="@android:drawable/editbox_background">
                <requestFocus></requestFocus>
            </EditText>
            <TextView android:text="Password :" android:id="@+id/setpass"
                style="@style/regFont" android:layout_marginTop="10dp"></TextView>
            <EditText android:layout_width="250dip" android:id="@+id/loginpass"
                android:layout_height="wrap_content" android:inputType="textPassword"
                android:background="@android:drawable/editbox_background"></EditText>
            <CheckBox android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:id="@+id/cbauto"
                android:gravity="center" android:text="Remember Me"
                android:layout_gravity="center"></CheckBox>
            <TableRow>
                <TextView android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:text="Login"
                    android:id="@+id/loginbut" android:layout_marginRight="5dp"
                    style="@style/regButton2"></TextView>
                <TextView android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:text="Register"
                    android:id="@+id/loginregbut" style="@style/regButton2"
                    android:layout_marginLeft="5dp"></TextView>
            </TableRow>
            <TextView android:gravity="center" android:text="Forgot Password?"
                android:id="@+id/forgotpass" style="@style/regFont" android:layout_marginTop="3dp"></TextView>

        </TableLayout>

    </ScrollView>

    <com.google.ads.AdView android:id="@+id/adView"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        ads:adUnitId="a14e2505974b9f8" ads:adSize="BANNER" ads:loadAdOnCreate="true"
        android:layout_alignParentBottom="true" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

试试吧..

 InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);

隐藏键盘

 imm.hideSoftInputFromWindow(ed.getWindowToken(), 0);  

用于显示键盘

 imm.showSoftInput(ed, 0);

专注于EditText

 ed.requestFocus();

其中ed是EditText ..

答案 1 :(得分:1)

请尝试以下操作:对setFocusable()对象使用requestFocus()EditText