0

我正在将拨号盘作为安卓手机上的本机拨号盘。而不是软键盘,我给出了按钮(1,2,.....*,#)。这就是为什么我需要光标可见性和软键盘隐藏。

在我的应用程序中,我创建了自己的拨号盘,其中包含用于显示输入和按下数字按钮的编辑文本。我使用以下选项隐藏了edittext的软键盘板

dialText.setInputType(InputType.TYPE_NULL);

我在 2.3.x 及其以下版本上运行代码,它的工作文件与拨号编辑文本显示在编辑文本上的光标。但是如果在sdk 4.0 版上运行上面的代码,它不会显示光标。我的问题是我需要在所有 android 版本设备的 edittext 上显示光标。怎么做?请帮我。

要隐藏我正在使用的软键盘:

dialText.setInputType(InputType.TYPE_NULL);  // hide soft key board 

我的编辑文本 xml:

 <EditText
    android:id="@+id/dialText"
    android:layout_width="match_parent"
    android:layout_marginTop="15dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:gravity="center"
    android:singleLine="true"
    android:layout_height="wrap_content"
    android:ems="10" >
</EditText>
4

2 回答 2

0
android:cursorVisible="true"

我想这就是你要找的!

于 2012-08-18T06:38:44.200 回答
0

尝试在 onCreate() 方法中使用它来隐藏你的键盘。

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

试试这个代码。

yourEditTextHere.setOnEditorActionListener(new OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId,
                KeyEvent event) {

                InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

                // NOTE: In the author's example, he uses an identifier
                // called searchBar. If setting this code on your EditText
                // then use v.getWindowToken() as a reference to your 
                // EditText is passed into this callback as a TextView

                in.hideSoftInputFromWindow(yourEditTextHere
                        .getApplicationWindowToken(),
                        InputMethodManager.HIDE_NOT_ALWAYS);
               // Must return true here to consume event
               return true;

        }
    });
于 2012-08-18T07:07:23.390 回答