国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

android 軟鍵盤的POPUP布局的問題解決

2019-10-21 21:37:47
字體:
供稿:網(wǎng)友

我正在開發(fā)一個(gè)軟鍵盤,做得很好,但是我不知道如何自定義一個(gè)長按鍵的彈出窗口.

我的鍵盤視圖:

<?xml version="1.0" encoding="UTF-8"?><android.inputmethodservice.KeyboardViewxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/keyboard"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:keyPreviewLayout="@layout/preview"android:keyBackground="@drawable/key_selector"android:shadowRadius="0.0"android:keyTextColor="#000000"/>

我的鍵盤布局:

<?xml version="1.0" encoding="utf-8"?><Keyboard xmlns:android="http://schemas.android.com/apk/res/android"android:keyWidth="10%p"android:keyHeight="10%p"><Row android:verticalGap="1%p" android:horizontalGap="0.5%p" android:keyHeight="8%p" android:keyWidth="9.6%p"> <Key android:codes="113" android:keyLabel="q" /> <Key android:codes="119" android:keyLabel="w" /> <Key android:codes="101" android:keyLabel="e"   /> <Key android:codes="114" android:keyLabel="r" /> <Key android:codes="116" android:keyLabel="t" /> <Key android:codes="121" android:keyLabel="y"   android:popupKeyboard="@xml/keyboard_popup" android:popupCharacters="yýÿ"/> <Key android:codes="117" android:keyLabel="u"   android:popupKeyboard="@xml/keyboard_popup" android:popupCharacters="uúù?ûü"/> <Key android:codes="105" android:keyLabel="i"    android:popupKeyboard="@xml/keyboard_popup" android:popupCharacters="iíì?îï"/> <Key android:codes="111" android:keyLabel="o"    android:popupKeyboard="@xml/keyboard_popup" android:popupCharacters="oóò ôö" /> <Key android:codes="112" android:keyLabel="p" /></Row><Row android:verticalGap="1%p" android:horizontalGap="0.5%p" android:keyHeight="8%p" android:keyWidth="9.6%p"> <Key android:codes="97" android:keyLabel="a" android:keyEdgeFlags="left" android:horizontalGap="5%p"   android:popupKeyboard="@xml/keyboard_popup" android:popupCharacters="aáà âä"/> <Key android:codes="115" android:keyLabel="s" /> <Key android:codes="100" android:keyLabel="d" /> <Key android:codes="102" android:keyLabel="f" /> <Key android:codes="103" android:keyLabel="g" /> <Key android:codes="104" android:keyLabel="h" /> <Key android:codes="106" android:keyLabel="j" /> <Key android:codes="107" android:keyLabel="k" /> <Key android:codes="108" android:keyLabel="l" /></Row><Row android:verticalGap="1%p" android:horizontalGap="0.5%p" android:keyHeight="8%p" android:keyWidth="9.6%p"> <Key android:codes="3"  android:keyIcon="@drawable/keyboard_shift_off"    android:keyHeight="7.6%p" android:keyWidth="13.7%p"/> <Key android:codes="122" android:keyLabel="z" android:horizontalGap="1%p"/> <Key android:codes="120" android:keyLabel="x" /> <Key android:codes="99"  android:keyLabel="c"   android:popupKeyboard="@xml/keyboard_popup" android:popupCharacters="cç"/> <Key android:codes="118" android:keyLabel="v" /> <Key android:codes="98"  android:keyLabel="b" /> <Key android:codes="110" android:keyLabel="n"   android:popupKeyboard="@xml/keyboard_popup" android:popupCharacters="nñ"/> <Key android:codes="109" android:keyLabel="m" /> <Key android:codes="-5"  android:keyIcon="@drawable/sym_keyboard_delete_dim"  android:keyHeight="7.6%p" android:keyWidth="13.7%p"   android:horizontalGap="1%p"/></Row><Row android:verticalGap="1%p" android:horizontalGap="0.5%p" android:keyHeight="8%p" android:keyWidth="9.6%p"> <Key android:codes="-16" android:keyIcon="@drawable/keyboard_symbol"   android:keyHeight="7.6%p" android:keyWidth="18.7%p"/> <Key android:codes="44"  android:keyLabel="," android:horizontalGap="1%p"/> <Key android:codes="32"  android:keyIcon="@drawable/sym_keyboard_feedback_space" android:keyWidth="40%p"/> <Key android:codes="46"  android:keyLabel="."/> <Key android:codes="-3"  android:keyIcon="@drawable/keyboard_go"   android:keyHeight="7.6%p" android:keyWidth="18.5%p" android:horizontalGap="1%p"/></Row>

鍵盤彈出XML:

<?xml version="1.0" encoding="utf-8"?><Keyboard xmlns:android="http://schemas.android.com/apk/res/android"android:keyWidth="10%p"android:keyHeight="10%p"></Keyboard>

我嘗試將keyBackground和背景屬性放在任何地方,但不成功.我試圖把:

android:popupLayout="@layout/keyboard"

…在keyboardView上得到nullpointer,也許我在該參數(shù)中輸入了錯(cuò)誤的XML?

在我放在這里的鍵盤彈出式XML中:

android:popupKeyboard="@xml/keyboard_popup"

我可以改變布局的大小,按鍵大小,鍵間距等等,但不能改變顏色或背景.

關(guān)鍵預(yù)覽也做得很好,我把它放在keyboardView上:

android:keyPreviewLayout="@layout/preview"

…它的工作原理我認(rèn)為彈出窗口應(yīng)該是一樣的,但不是這樣.

如何自定義出現(xiàn)長按鍵的彈出式窗口?

那么這不是我正在尋找的,而是解決了這個(gè)問題.

我自己創(chuàng)建了鍵盤視圖,并彈出一個(gè)彈出窗口來顯示一個(gè)鍵長時(shí)間按下.

public class MyKeyboardView extends KeyboardView{ @Override protected boolean onLongPress(final Key popupKey) {  final View custom = LayoutInflater.from(context)  .inflate(R.layout.popup_layout, new FrameLayout(context));  popup = new PopupWindow(context);  popup.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);  popup.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);  popup.showAtLocation(this, Gravity.NO_GRAVITY, popupKey.x, popupKey.y-50); }}

這樣,您可以在xml中以任何方式自定義彈出窗口.

但是這不是正確的答案,如果你知道一個(gè)更好的方法來回答這個(gè)問題.

http://stackoverflow.com/questions/34799775/soft-keyboards-popup-layout

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 奉新县| 光泽县| 平乡县| 宝坻区| 清丰县| 夏河县| 灌阳县| 青浦区| 东台市| 日照市| 蕲春县| 清远市| 汕头市| 平远县| 肥城市| 定襄县| 阜城县| 桂东县| 勃利县| 孟村| 绥德县| 饶河县| 凤山县| 维西| 金山区| 磐石市| 远安县| 大渡口区| 大连市| 广东省| 丰宁| 祁阳县| 绥滨县| 西青区| 万全县| 忻城县| 彭阳县| 崇明县| 东光县| 永寿县| 博客|