Hello, I am trying to create my own keyboard because I need it in one of my application. The problem is when I can seem to get the KeyboardView to get displayed without an exception. I tried two ways: 1. - I had the KeyboardView in my main.xml layout file: ... <LinearLayout ... ... <android.inputmethodservice.KeyboardView android:id="@+id/keyboard" android:layout_width="120dip" android:layout_height="120dip" android:keyTextSize="10px" android:labelTextSize="10px" android:keyBackground="@drawable/icon" android:popupLayout="@+layout/keyboard" /> ... - in the layout folder I wrote the keyboard layout file: <?xml version="1.0" encoding="UTF-8"?> <Keyboard xmlns:android="http://schemas.android.com/ apk/res/android" android:id="@+id/mykeyboard" android:keyWidth="50px" android:keyHeight="50px" android:horizontalGap="2px" android:verticalGap="2px" > <Row android:keyWidth="32px" > <Key android:keyLabel="A" /> </Row> </Keyboard> - in onCreate I had: setContentView(R.layout.main);
2. - I commented the keyboardview from main.xml , got the LinearLayout object from main.xml and tryed to add KeyboardView from code: myLayout.addView(new KeyboardView(getApplicationContext (), null)); In any case I got the same IllegalArgumentException. I think somehow the KeyboardView tries to grab more pixels than it got. ( http://developer.android.com/reference/android/graphics/Bitmap.html#createBitmap(int,%20int,%20android.graphics.Bitmap.Config) ) 11-02 11:49:22.638: ERROR/AndroidRuntime(340): Uncaught handler: thread main exiting due to uncaught exception 11-02 11:49:22.669: ERROR/AndroidRuntime(340): java.lang.IllegalArgumentException: width and height must be > 0 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.graphics.Bitmap.nativeCreate(Native Method) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.graphics.Bitmap.createBitmap(Bitmap.java:468) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.inputmethodservice.KeyboardView.onBufferDraw(KeyboardView.java: 588) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.inputmethodservice.KeyboardView.onDraw(KeyboardView.java:579) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.View.draw(View.java:6536) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewGroup.drawChild(ViewGroup.java:1526) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.View.draw(View.java:6539) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewGroup.drawChild(ViewGroup.java:1526) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.View.draw(View.java:6539) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewGroup.drawChild(ViewGroup.java:1526) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.View.draw(View.java:6539) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.widget.FrameLayout.draw(FrameLayout.java:352) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewGroup.drawChild(ViewGroup.java:1526) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.View.draw(View.java:6539) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.widget.FrameLayout.draw(FrameLayout.java:352) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw (PhoneWindow.java:1830) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewRoot.draw(ViewRoot.java:1348) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewRoot.performTraversals(ViewRoot.java:1113) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.view.ViewRoot.handleMessage(ViewRoot.java:1632) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.os.Handler.dispatchMessage(Handler.java:99) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.os.Looper.loop(Looper.java:123) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at android.app.ActivityThread.main(ActivityThread.java:4310) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at java.lang.reflect.Method.invokeNative(Native Method) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at java.lang.reflect.Method.invoke(Method.java:521) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:860) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 11-02 11:49:22.669: ERROR/AndroidRuntime(340): at dalvik.system.NativeStart.main(Native Method) -- You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en