2016-02-21 65 views
1

在我的AndroidManifest.xml活动标签之间,我有:当我的活动开始时,如何显示电话输入软键盘?

android:windowSoftInputMode = "stateVisible" 

所以,当我的活动开始软键盘出现:

enter image description here

有不是我可以添加使电话输入键盘出现了吗?或者我会怎么做?谢谢。

enter image description here

编辑

为了清楚起见,对这个问题我加入这个 '编辑'。

首先,感谢以下所有答案。

但是,我的目标是首先在屏幕上没有Edittext Visible。一旦活动开始并且用户启动 进行键入,电话输入软键盘就会出现,然后Edittext将变为可见,并输入文本。

我试图使EDITTEXT看不见的,当用户开始输入,然后使其可见,但问题是一种无形的EditText不能有焦点,

所以,android:inputType="number"是没有效果。而且都不是:edittext.requestFocus();因为edittext是隐形的。

我最终什么事最终还是做了一些非常简单,设置宽度和高度,在我的XML 0dp,如:

android:id="@+id/etPhoneNumber" 
android:layout_width="0dp" 
android:layout_height="0dp" 
android:inputType="number" /> 

这样一来,edittext可以得到关注与

edittext.requestFocus(); 

为活动一经创建,inputType = "number"被确认。

接下来我要做的事是在软键盘上点击一个键时增加edittext的大小,以便用户可以看到它。

我会把所有这些作为答案,以便对其他用户有所帮助。 +1的帮助!

回答

1

您可以在XML布局添加

android:inputType="phone" 

android:inputType="number" 

到您的视图。

你应该在你的代码中的一些视图,你可以给输入像的EditTextAutoCompleteTextView改变键盘的类型。

例如 -

 <EditText 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:inputType="phone" 
     /> 
1

假设你有,其中显示,一旦你的应用程序被启动的ActivityEditText,可以在下面的XML属性添加到您的EditText

android:inputType="phone" 

检查开发商docs在其他情况下,输入类型,如果你需要。

1

在设置该属性在活动清单文件,

android:windowSoftInputMode="stateAlwaysVisible" 

,然后在你的XML在您的EditText设置属性,

android:inputType="number" 
1

首先是采取一个EditText在XML

<EditText 
      android:id="@+id/etPhoneNumber" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:inputType="number" /> 

在您的活动的onCreate方法中使用这段代码!

EditText etPhoneNumber = (EditText) findViewById(R.id.etPhoneNumber); 

    etPhoneNumber.requestFocus(); 

    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); 

这对我很好用!希望它也适用于你!

让我知道这是否行得通! :)

+0

谢谢,但只是您的代码的第一部分, EditText etPhoneNumber =(EditText)findViewById(R.id.etPhoneNumber); etPhoneNumber.requestFocus(); 似乎能够完成这项工作 - 在我的XML中与android:inputType =“number”结合使用。你能否看到将代码的最后一部分退出的问题?如果不需要的话,讨厌有代码。 – CHarris

0

目标是没有Edittext首先在屏幕上可见。

只要活动开始并且用户启动 键入,电话输入软键盘就会出现,然后Edittext将变为可见,并输入文本。

我试图使EDITTEXT看不见的,当用户开始输入,然后使其可见,但问题是一种无形的EditText不能有焦点,

所以,android:inputType="number"是没有效果。而且两者都不是:edittext.requestFocus();因为edittext是不可见的。

我最终什么事最终还是做了一些非常简单,设置宽度和高度,在我的XML 0dp,如:

android:id="@+id/etPhoneNumber" 
android:layout_width="0dp" 
android:layout_height="0dp" 
android:inputType="number" /> 

那样的话,EditText上可以得到关注与

edittext.requestFocus(); 

为活动一经创建,inputType = "number"被确认。

现在要做的下一件事是在软键盘上点击一个键时增加edittext的大小,以便用户可以看到它。

相关问题