2013-04-04 40 views
1

我在我的应用程序中有三个EditText小部件,其中一个小部件的XML如下所示。他们主要工作,但问题是,实际的小部件是在我的设备屏幕的底部。当我点击小部件,并显示数字小键盘时,它完全覆盖文本输入窗口,我看不到我输入的是什么数字。我可以修改TextView,以便在我的设备上显示小键盘时,它还显示我当前输入的号码?EditText:如何在输入时显示数字?

<EditText 
    android:id="@+id/EditTextPrices"   android:layout_width="100dip" 
    android:layout_height="wrap_content"  android:inputType="number|numberDecimal" 
    android:singleLine="true"     android.imeOptions="actionDone"/> 

的另一个问题是,当我打完字,而不是返回我的主要活动屏合一数字,它带来了下一个文本编辑插件的数字小键盘。我不希望发生这种情况。我曾经想过,设置android.imeOptions =“actionDone”会导致键盘消失,当我输入完数字后会完成,但并非如此。我怎样才能阻止“下一个”窗口出现?

回答

1

研究将android:windowSoftInputMode添加到您的清单文件。 “adjustPan”,因为它的价值可能是你想要的,虽然我发现它有时无法解释当你正在输入东西时,通过单词猜测的条形软键盘上方的空间。

+0

当你说清单文件时,你的意思是AndroidManifest.xml。如果是这样,我在哪里把android:windowSoftInputMode? – 2013-04-04 21:27:08

+0

是的,在AndroidManifest.xml中。 再次查看链接,它是您的活动的xml元素的属性。 cgv 2013-04-04 21:29:23

+0

好的。这工作。此外,它以某种方式解决了我在'下一个'中遇到的其他问题。谢谢! – 2013-04-04 21:36:05

1

将android:windowSoftInputMode =“adjustPan”添加到活动的清单中。这将导致活动向上滚动,以便聚焦的编辑文本始终显示在屏幕上。

+0

当你说清单文件时,你的意思是AndroidManifest.xml? – 2013-04-04 21:28:31

+0

谢谢,这工作。 – 2013-04-04 21:36:27

1

其他的建议使用adjustPan是好的,另一个想法是把你的布局在滚动视图。

关于你的第二个问题,你如何处理actionDone?

例如,这是我如何隐藏键盘(或做他们想做什么时,他们按完成)。

final EditText editTextPrices = (EditText) findViewById(R.id.editTextPrices); 
editTextPrices.setOnEditorActionListener(new OnEditorActionListener() { 
    @Override 
    public boolean onEditorAction(TextView view, int actionID, KeyEvent event) { 
     if (actionID == EditorInfo.IME_ACTION_DONE) { 
      InputMethodManager imm = (InputMethodManager) MyClass.this.getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(bugemailaddress.getWindowToken(), 0); 
      // DO OTHER HANDLING OF INPUT HERE 
      return true; 
     } 
     return false; 
    } 
}); 
+0

ScrollView对我来说可能会有问题,因为我在这个应用程序中也有ListViews,我'告诉他们两个不会很好地合作。关于第二个问题,上面的答案以某种方式解决了它。谢谢。 – 2013-04-04 21:37:25

相关问题