我正在尝试在 Edittext 中插入一个 textview,如下所示
任何人都可以给我关于如何实现它或其他东西的想法。
谢谢 :)
更新: edittext 中的文本视图会动态变化。
我正在尝试在 Edittext 中插入一个 textview,如下所示
任何人都可以给我关于如何实现它或其他东西的想法。
谢谢 :)
更新: edittext 中的文本视图会动态变化。
试试这个示例代码。它符合您的要求。
PopupWindow pw = new PopupWindow(
this.getViewInflate().inflate(R.layout.pw_layout,
null, true, null),
100,100,true);
// display the popup in the center
pw.showAtLocation(layout, Gravity.CENTER, 0, 0);
pw.update(20,20,100,100);
对于内部视图EditText
,您必须扩展EditText
. 它的外观概述如下。
class emailEditText extends EditText {
List<NamePhotoView> ViewlistOfSelectedContacts; // create new
void addContact(String name, Bitmap photo) {
// create a new 'NamePhotoView' and add to the ViewlistOfSelectedContacts
}
@Override
void onDraw(Canvas canvas) {
for (....) {
// draw all views from the list. left to right.
}
// you have to some how offset the text start coordinate. then call super
super.onDraw(canvas);
}
}
我认为你不能TextView
在里面设置EditText
。但或者你可以让它看起来那样。以下是步骤
BitmapDrawable
SpanableString
( ImageSpan
)SpannableString
为您的EditText
我最近完成了这种 ui,我在我的博客中解释了使 GoSmsPro/Evernote 像 EditText
您可以像上面提到的框架布局一样根据您的需要创建一个组件。当文本视图位于 EditText 之上时,您可能有一个带有两个视图的 FrameLayout 或 RelativeLayout,例如 EditText 和 TextView。如果你想要像你的图片一样,你也可以把图像视图放在右边。
尽管您不需要创建组件并且可以轻松地在 XML 布局中执行此操作,但如果您计划在应用程序中定期使用它,最好将这些视图创建为组件。