2015-06-08 9 views
5

Android özel klavye Ime'ye scrollview eklemeyi denedim, ancak şu ana kadar çalışmıyorum. İşteKlavye için scrollview nasıl eklenir Android'de görünümView

kodumu

keyboard.xml

<?xml version="1.0" encoding="UTF-8"?> 
<ScrollView 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <android.inputmethodservice.KeyboardView 
     android:id="@+id/keyboard" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:isScrollContainer="true" 
     android:scrollbarAlwaysDrawHorizontalTrack="true" 
     android:scrollbarStyle="insideOverlay" 
     android:scrollbars="horizontal" 
     android:focusable="true" 
    /> 
</ScrollView> 

.java

@Override 
    public View onCreateInputView() { 
     context = getApplicationContext(); 
     ScrollView scroll = (ScrollView)getLayoutInflater().inflate(R.layout.keyboard,null); 
     kv = (KeyboardView)scroll.findViewById(R.id.keyboard); 
     keyboard = new Keyboard(this, R.xml.qwerty); 
     kv.setPreviewEnabled(false); 
     kv.setKeyboard(keyboard); 
     kv.setHorizontalScrollBarEnabled(true); 
     kv.canScrollHorizontally(1); 
     kv.setOnKeyboardActionListener(this); 

     return kv; 
    } 

parçasıdır alıyorum Beklenen

> java.lang.IllegalStateException: The specified child already has a 
> parent. You must call removeView() on the child's parent first. 

aşağıda hata: Resimdeki gibi ilerleyin aşağıda (Cant upload Burada, Herhangi bir yardım takdir edilecektir

http://www.fandroides.com/wp-content/uploads/2014/04/Google-keyboard-emojis.png

o :) için yeterli değil itibarımı) benziyor. Sen

+0

? Hataları mı alıyorsun? Gerçek çıkışa beklenen çıkış nedir? – JNYRanger

+0

Benzer bir sorunum var. Ama çözüm bulamadım. –

cevap

2

bu değişikliği yapmayı deneyin ederiz:

keyboard.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.inputmethodservice.KeyboardView 
    android:id="@+id/keyboard" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
/> 

my_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/keyboard_layout"> 

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/example_height" 
      android:id="@+id/keyboard_scroll"> 
    </ScrollView> 

</LinearLayout> 

.java tam konudur Ne

@Override 
public View onCreateInputView() { 

    LinearLayout myView = (LinearLayout) View.inflate(this, R.layout.my_layout, null); 
    ScrollView scrollView = (ScrollView) myView.findViewById(R.id.keyboard_scroll); 

    KeyboardView kv = (KeyboardView) getLayoutInflater().inflate(keyboard.xml, null); 
    keyboard = new Keyboard(this, R.xml.qwerty); 
    kv.setKeyboard(keyboard); 
    kv.setOnKeyboardActionListener(this); 

    scrollView.addView(kv); 
    return myView; 
} 
İlgili konular