我正在尝试创建与MultiAutoCompleteTextViewGoogle+应用中的实施方式类似的联系人气泡.以下是截图:
.
我试图扩展DynamicDrawableSpan该类,以便在一段文本的背景中获得一个spannable drawable
public class BubbleSpan extends DynamicDrawableSpan {
private Context c;
public BubbleSpan(Context context) {
super();
c = context;
}
@Override
public Drawable getDrawable() {
Resources res = c.getResources();
Drawable d = res.getDrawable(R.drawable.oval);
d.setBounds(0, 0, 100, 20);
return d;
}
}
Run Code Online (Sandbox Code Playgroud)
我的oval.xml drawable定义如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#352765"/>
<padding android:left="7dp" android:top="7dp"
android:right="7dp" android:bottom="7dp" />
<corners android:radius="6dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
在我的Activity类中MulitAutoCompleteTextView,我设置了气泡跨度,如下所示:
final Editable e = tv.getEditableText();
final SpannableStringBuilder sb = new …Run Code Online (Sandbox Code Playgroud)
有人可以指出我正确的方向如何在EditText中做这些气泡或标签,就像你在添加圆圈或联系人时想要在Stream for Google+中撰写内容时所看到的那样?Rectangle是一个自动完成的edittext.
我一直在寻找,但找不到任何答案.我正在尝试实现的是类似于ICS gmail应用程序的撰写屏幕中的"To"字段的EditText.
这是描述我想要的图像:

我正在考虑扩展EditText和实现我自己的自定义EditText类,但我不确定如何做到这一点,即使这是最好的解决方案.有什么想法吗?
继续我之前的帖子,我能够设置多个元素, MultiAutoCompleteTextView但我无法用自定义背景和关闭按钮包装那些项目,就像链接图片一样.
我能够用单个元素做同样的事情,但是对于多个元素,运气不好.
这是我试过的.
//将文本设置为MultiAutoCompleteTextView
private void setTextSample(String contactName) {
final SpannableStringBuilder sb = new SpannableStringBuilder();
TextView tv = (TextView) LayoutInflater.from(this).inflate(R.layout.textview, null);
tv.setText(contactName);
BitmapDrawable bd = (BitmapDrawable) convertViewToDrawable(tv);
bd.setBounds(0, 0, bd.getIntrinsicWidth(), bd.getIntrinsicHeight());
sb.append(contactName + ",");
sb.setSpan(new ImageSpan(bd), sb.length()-(contactName.length()+1),
sb.length()-1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mMultiAutoCompleteTextView.setText(sb);
}
Run Code Online (Sandbox Code Playgroud)
//用自定义元素换行文本
private static Object convertViewToDrawable(View view) {
int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
view.measure(spec, spec);
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
Bitmap b = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(),
Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
c.translate(-view.getScrollX(), -view.getScrollY());
view.draw(c);
view.setDrawingCacheEnabled(true);
Bitmap cacheBmp = …Run Code Online (Sandbox Code Playgroud) 如何将文本放入空TextView,以便在用户开始输入时消失?就像在"标签"字段下的StackOverflow中一样.
与GMail客户端使用的方法相同.这将为我节省一些空间 - 无需创建标签..
我正在努力将泡泡添加到字段中,就像在gmail或facebook messanger中一样.请看下面这张照片..

因此,为了实现上面的图片,我做了一些使用这个示例项目的工作, 他们给出了实现的代码,但我需要将每个Bubbles与空间分开,这意味着我使用了空间标记器.然后它的工作正常,但我的问题是,如果我继续在通常在gmail到字段的字段中添加联系人正在向上移动和列表视图的联系人列表完全显示.但在我的情况下,listview在添加最大联系人后没有显示,如果我自动添加大量的联系人名称,则会为该名称添加多个Bubbles.还有一个问题是2.2版本的移动设备我无法在联系人Bubble之间或之后看到光标.手动我需要点击联系Bubbles.我从此链接中找到了一些新闻, 但我无法从此https://android.googlesource.com/platform/frameworks/ex/+/refs/heads/master/chips导入完整的代码.有很多依赖,所有项目都在进口.请让我知道上述问题的任何解决方案.如有任何样品也请在这里发布..