(또 다른!) 입력 방법을 구현하려고합니다. View를 확장 한 KeyboardView 객체의 사용과 확장을 구현하는 소프트 키보드 예제로 시작했습니다. View를 완전히 다른 방식으로 확장하고자하므로 다음을 input.xml에 넣습니다. 내 목표는 UI에 투명한 표면을 갖는 것입니다.안드로이드에서 IME UI를위한 투명한 배경
<?xml version="1.0" encoding="utf-8"?>
<com.diffstrokes.ime.StrokeView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@null"
android:cacheColorHint="@null" >
</com.diffstrokes.ime.StrokeView>
IME를 호출하는 활동이 밝은 회색 배경으로 가려져 있습니다. 예를 들어, 배경색을 반투명 한 빨간색으로 변경하면보기 배경 위에 몇 줄의 회색 픽셀이 보입니다. 이 배경은 어디에서오고, 어떻게 제거 할 수 있습니까?
뷰 대신 LinearLayout을 사용하려고했습니다. LinearLayout에는 두 개의 View 태그가 있습니다. 문제없이
LinearLayout llo =
(LinearLayout) getLayoutInflater().inflate(
R.layout.dslayout, null);
onCreateInputView()
완료를하지만, 어떤 점에서 나는 다음과 같은 로그에서와 같이 예외를 얻을 : 내 onCreateInputView() 함수에서 나는 다음과 함께있는 LinearLayout을 팽창
06-12 15:17:01.350: E/AndroidRuntime(14002): FATAL EXCEPTION: main
06-12 15:17:01.350: E/AndroidRuntime(14002):
java.lang.IllegalStateException: The specified child already has a
parent. You must call removeView() on the child's parent first. 06-12
15:17:01.350: E/AndroidRuntime(14002): at
android.view.ViewGroup.addViewInner(ViewGroup.java:2117) 06-12
15:17:01.350: E/AndroidRuntime(14002): at
android.view.ViewGroup.addView(ViewGroup.java:2012) 06-12
15:17:01.350: E/AndroidRuntime(14002): at
android.view.ViewGroup.addView(ViewGroup.java:1992) 06-12
15:17:01.350: E/AndroidRuntime(14002): at
android.inputmethodservice.InputMethodService.setInputView(InputMethodService.java:1105)
06-12 15:17:01.350: E/AndroidRuntime(14002): at
android.inputmethodservice.InputMethodService.updateInputViewShown(InputMethodService.java:963)
06-12 15:17:01.350: E/AndroidRuntime(14002): at
android.inputmethodservice.InputMethodService.showWindowInner(InputMethodService.java:1318)
06-12 15:17:01.350: E/AndroidRuntime(14002): at
android.inputmethodservice.InputMethodService.showWindow(InputMethodService.java:1293)
06-12 15:17:01.350: E/AndroidRuntime(14002): at
android.inputmethodservice.InputMethodService$InputMethodImpl.showSoftInput(InputMethodService.java:392)
06-12 15:17:01.350: E/AndroidRuntime(14002): at
android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:176)
06-12 15:17:01.350: E/AndroidRuntime(14002): at
com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
06-12 15:17:01.350: E/AndroidRuntime(14002): at
android.os.Handler.dispatchMessage(Handler.java:99) 06-12
15:17:01.350: E/AndroidRuntime(14002): at
android.os.Looper.loop(Looper.java:130) 06-12 15:17:01.350:
E/AndroidRuntime(14002): at
android.app.ActivityThread.main(ActivityThread.java:3806) 06-12
15:17:01.350: E/AndroidRuntime(14002): at
java.lang.reflect.Method.invokeNative(Native Method) 06-12
15:17:01.350: E/AndroidRuntime(14002): at
java.lang.reflect.Method.invoke(Method.java:507) 06-12 15:17:01.350:
E/AndroidRuntime(14002): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-12 15:17:01.350: E/AndroidRuntime(14002): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 06-12
15:17:01.350: E/AndroidRuntime(14002): at
dalvik.system.NativeStart.main(Native Method)
언제 나는보기를 부 풀린다, 이것은 일어나지 않는다. 왜 그 이유를 설명 할 수 있습니까?
xml로 만들지 못했습니다 : –
XML 코드를 일반 형식으로 표시하려면 어떻게해야합니까? –