ven todos tener teclado sistema samsung porque nuevos los hacer google emoticonos emojis con como celular cambiar java android keyboard emoticons

java - todos - Mostrar emoticon personalizado en el teclado de Android



emoticonos teclado samsung (3)

He estado intentando durante los últimos 3 días mostrar un emoticono gráfico personalizado en la vista de mensajes de Android predeterminada. He mostrado exitosamente mis emoticonos personalizados en lugar de llaves. Ahora el problema es que estoy tratando de mostrar un dibujable en el generador de cadenas extensibles. Pero el dibujable simplemente no aparece en el teclado. Aquí está el código hasta ahora:

SpannableString ss = new SpannableString(" "); Drawable d = getResources().getDrawable(R.drawable.a); d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); // ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE); ImageSpan span = new ImageSpan(d); // ss.setSpan(span, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); mComposing.append(":"); mComposing.setSpan(new ImageSpan(d), 0,1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); getCurrentInputConnection().commitText(mComposing, 1);

He intentado diferentes métodos para ajustar de alguna manera el dibujo, pero simplemente no se muestra en la vista de mensaje predeterminada de Android. Cualquier ayuda sería muy apreciada.


Lo he logrado haciendo así.

ImageGetter imageGetter = new ImageGetter() { public Drawable getDrawable(String source) { Drawable d = getResources().getDrawable(R.drawable.e041); d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); return d; } }; Spanned cs = Html.fromHtml("<img src=''" + getResources().getDrawable(R.drawable.e041) + "''/>", imageGetter, null); getCurrentInputConnection().commitText(cs, 1);

// pero anula el último texto introducido vea mi pregunta aquí



Tal vez podrías usar:

String txt = "<img src=/"" + resourceID + "/"/>"; para generar una etiqueta HTML y después de eso

Spanned spanned = Html.fromHtml(txt, emojiGetter, null);
editTextObj = setText(spanned,BufferType.SPANNABLE);

donde está emojiGetter

private ImageGetter emojiGetter = new ImageGetter() { public Drawable getDrawable(String source){ int id = getResources().getIdentifier(source, "drawable", context.getPackageName()); Drawable emoji = getResources().getDrawable(id); int w = (int)emoji.getIntrinsicWidth() ; int h = (int)emoji.getIntrinsicHeight() ; emoji.setBounds(0, 0, w, h); return emoji; } };

Funciona bien para mí. He creado un componente CustomEditText para simplificar esta conversión.