我正在尝试像下面这样在Edittext中插入一个TextView:
请问有什么实现方法或者相关的建议吗?
谢谢:)
更新: Edittext中的TextView将会动态变化。
![enter image description here](https://istack.dev59.com/2CBc1.webp)
谢谢:)
更新: Edittext中的TextView将会动态变化。
尝试使用这个示例代码。它符合你的要求。
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);
}
}
EditText
内部设置TextView
,但是你可以采用替代方案使其看起来像。以下是步骤:
TextView
转换为BitmapDrawable
SpannableString
(ImageSpan
)SpannableString
设置给你的EditText
您可以根据您所需的内容创建一个基于组件的组件,就像您上面提到的帧布局一样。您可能有一个FrameLayout或RelativeLayout,其中包含两个视图,例如EditText和TextView,而TextView位于EditText之上。如果您想要在右侧放置ImageView,则也可以这样做。
虽然您不需要创建组件,而且可以轻松地在XML布局中完成此操作,但如果您计划通过应用程序定期使用它,则最好将这些视图作为组件创建。
PopupWindow
类型的视图。 - Ron