2016-11-23 10 views
3

Мне нужно реализовать последнее изображение & Gif Keyboard в Android 7.1 Нуга, см. Снимок экрана. Можете ли вы кого-нибудь объяснить, как я могу это понять. если объяснение с примером более заметно. Смотрите это Android Doc Image Keyboard Support enter image description hereКак реализовать Image & Gif Keyboard в последней версии Android 7.1 Нуга

+1

https://developer.android.com/preview/ image-keyboard.html – CommonsWare

ответ

3

Сделать Выборочная EditText как этот

public class GifEditText extends EditText { 
    public GifEditText(Context context) { 
     super(context); 
    } 

    public GifEditText(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public GifEditText(Context context, AttributeSet attrs, int defStyleAttr) { 
     super(context, attrs, defStyleAttr); 
    } 

    @Override 
    public InputConnection onCreateInputConnection(EditorInfo editorInfo) { 
     final InputConnection ic = super.onCreateInputConnection(editorInfo); 
     EditorInfoCompat.setContentMimeTypes(editorInfo, 
       new String[]{"image/gif"}); 

     final InputConnectionCompat.OnCommitContentListener callback = 
       new InputConnectionCompat.OnCommitContentListener() { 
        @Override 
        public boolean onCommitContent(InputContentInfoCompat inputContentInfo, 
                int flags, Bundle opts) { 
         // read and display inputContentInfo asynchronously 
         if (BuildCompat.isAtLeastNMR1() && (flags & 
           InputConnectionCompat.INPUT_CONTENT_GRANT_READ_URI_PERMISSION) != 0) { 
          try { 
           inputContentInfo.requestPermission(); 
          } catch (Exception e) { 
           return false; // return false if failed 
          } 
         } 

         // read and display inputContentInfo asynchronously. 
         // call inputContentInfo.releasePermission() as needed. 

         return true; // return true if succeeded 
        } 
       }; 
     return InputConnectionCompat.createWrapper(ic, editorInfo, callback); 
    } 
} 

И использовать как этот

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

    <com.test.GifEditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="Test gif" /> 
</LinearLayout> 
+0

извините, но я не могу разрешить EditorInfoCompat, InputConnectionCompat и BuildCompat. Как это сделать? –

+2

добавить компиляцию 'com.android.support:support-v13:25.0.0' для разрешения EditorInfoCompat –