键盘按键之后预览是白板。求解决办法。有图说明

一袭白衣 2012-08-08 01:50:58
图1:

图2

不知道为什么,上面点到数字键之后,显示的白板(如图1),而不是预览数字(如图2)
keyboardView.setEnabled(true);
keyboardView.setPreviewEnabled(true);
...全文
559 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
fonx 2014-04-17
  • 打赏
  • 举报
回复
此贴对我帮助很大,让我明白原来这玩意不叫气泡不叫气球也不叫提示不叫hint不叫popup更不叫坑爹的balloon原来是叫preview!!!
happybox 2013-08-05
  • 打赏
  • 举报
回复
请问@AMinfo,你是用鼠标点击的还是使用实体键盘,我们需要使用实体键盘(外置的Hard keyboard)来实现点击键盘,出现key feedback popup
happybox 2013-08-05
  • 打赏
  • 举报
回复
我在做同样的东西,有哪位大虾指点儿一下
jerry20011024 2013-05-09
  • 打赏
  • 举报
回复
似乎回得太晚 不過給個解答 在AndroidManifest.xml中加入theme <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/Theme.Dialog" >
AMinfo 2012-08-11
  • 打赏
  • 举报
回复
建议你新建一个项目,只留一个文本框和你自定义的这个键盘,然后整个项目打包发到群里,大家帮你看看。
一袭白衣 2012-08-11
  • 打赏
  • 举报
回复
未解决啊。。。分都不知道怎么给
一袭白衣 2012-08-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
代码不完整啊

showKeyboard();和hideKeyboard();

proEdTxt这个组件定义也没有。
[/Quote]
这个只是设置键盘显示和隐藏的函数, 没什么特别的地方,
和按下数字显示白板没关系。
keyboardView.setPreviewEnabled(false);
这个是不显示白板,直接点击按键之后就在EditText上面输入数字, 设置为true后就是白板
一袭白衣 2012-08-09
  • 打赏
  • 举报
回复

View view = inflater.inflate(R.layout.item_system, null);
llc.addView(view);
X_speed = (EditText)view.findViewById(R.id.X_speed);
X_speed.setInputType(InputType.TYPE_NULL);
X_speed.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
ed = X_speed;
showKeyboard();
return false;
}
});
keyboardView = (KeyboardView)view.findViewById(R.id.keyboard_view);
keyboardView.setKeyboard(new Keyboard(activity.getApplicationContext(), R.xml.keyboard));
keyboardView.setEnabled(true);
keyboardView.setPreviewEnabled(false);
keyboardView.setOnKeyboardActionListener(new OnKeyboardActionListener() {
@Override
public void onKey(int primaryCode, int[] keyCodes) {
Editable editable = ed.getText();
int start = ed.getSelectionStart();
if (primaryCode == Keyboard.KEYCODE_CANCEL) {
hideKeyboard();
} else if (primaryCode == Keyboard.KEYCODE_DELETE) {
if (editable != null && editable.length() > 0) {
editable.delete(start - 1, start);
}
} else if (primaryCode == 57419) { // go left
ed.setText(String.valueOf(0-(Integer.valueOf(ed.getText().toString()))));
ed.setSelection(ed.getText().toString().length());//
} else if (primaryCode == 57421) { // go right
if(proEdTxt!= null){
ed.setText(proEdTxt);
hideKeyboard();
}

} else {
proEdTxt=ed.getText().toString();
editable.insert(start, Character.toString((char)primaryCode));

}
}

键盘java代码
一袭白衣 2012-08-09
  • 打赏
  • 举报
回复

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:paddingTop="5dp"
android:layout_below="@+id/R_speed" >

<android.inputmethodservice.KeyboardView
android:id="@+id/keyboard_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:visibility="gone" />
</RelativeLayout>

键盘在页面内的布局
一袭白衣 2012-08-09
  • 打赏
  • 举报
回复

<?xml version="1.0" encoding="utf-8"?>
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="35dip"
android:horizontalGap="0px"
android:verticalGap="0px"
android:keyHeight="32dip">
<Row>
<Key android:codes="49" android:keyLabel="1" />
<Key android:codes="50" android:keyLabel="2" />
<Key android:codes="51" android:keyLabel="3" />
<Key android:codes="52" android:keyLabel="4" />
<Key android:codes="53" android:keyLabel="5" />
<Key android:codes="54" android:keyLabel="6" />
<Key android:codes="55" android:keyLabel="7" />
<Key android:codes="56" android:keyLabel="8" />
<Key android:codes="57" android:keyLabel="9" />
<Key android:codes="48" android:keyLabel="0" android:keyIcon="@drawable/ic_dialog_keyboard"/>
<Key android:codes="46" android:keyLabel="." />
<Key android:codes="57419" android:keyLabel="+/-"/>
<Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete" />
<Key android:codes="57421"
android:keyEdgeFlags="right"
android:isRepeatable="true"
android:keyLabel="取消"/>
<Key android:codes="-3"
android:keyEdgeFlags="right"
android:isRepeatable="true"
android:keyLabel="完成" />

</Row>
</Keyboard>



键盘布局
AMinfo 2012-08-09
  • 打赏
  • 举报
回复
代码不完整啊

showKeyboard();和hideKeyboard();

proEdTxt这个组件定义也没有。
AMinfo 2012-08-08
  • 打赏
  • 举报
回复
代码和布局发上来看看。
一袭白衣 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 aminfo 的回复:]
你这个键盘布局是自定义的吧?
[/Quote]
是的。 因为第一次接触键盘,所以看了一个keyboardDemo之后按照Demo上面的方法写的一个布局
不知道为什么,方法基本都一样,函数也就改了下响应内容。但是就是变成白板,感觉也没什么地方变动会引起这个问题
AMinfo 2012-08-08
  • 打赏
  • 举报
回复
你这个键盘布局是自定义的吧?
一袭白衣 2012-08-08
  • 打赏
  • 举报
回复
那个小窗口API解释是 key feedback popup
但是怎么设置其属性却没有说
一袭白衣 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
你加上这个看看能否看到预览数字
keyboardView.setBackgroundColor(Color.RED);
[/Quote]
@AMinfo

设置背景不是上面预览的… 而是键盘本身后面的
AMinfo 2012-08-08
  • 打赏
  • 举报
回复
你加上这个看看能否看到预览数字
keyboardView.setBackgroundColor(Color.RED);
一袭白衣 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
字体颜色值被设为白色,所以看不见。
[/Quote]
内面的字体颜色怎么设置呢?
AMinfo 2012-08-08
  • 打赏
  • 举报
回复
字体颜色值被设为白色,所以看不见。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧