我正在尝试在Edittext中插入textview,如下所示
任何人都可以给我关于如何实现它的想法。
谢谢:)
更新 edittext中的textviews会动态变化。
答案 0 :(得分:3)
试试这个示例代码。它符合您的要求。
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);
}
}
答案 1 :(得分:2)
我认为您无法在TextView
内设置EditText
。
但另外,你可以让它看起来那样。以下是步骤
BitmapDrawable
SpanableString
(ImageSpan
)SpannableString
设置为EditText
我最近完成了这种ui,我已经在我的博客中解释了Making GoSmsPro/Evernote like EditText
答案 2 :(得分:2)
答案 3 :(得分:1)
您可以根据上面提到的框架布局所需的内容创建一个组件。你可以有一个带有两个视图的FrameLayout或RelativeLayout,例如EditText和TextView,而文本视图位于EditText之上。如果你想要像你的照片那样你也可以放置图像视图。
虽然您不需要创建组件,但您可以轻松地在XML布局中执行此操作,但如果您计划在应用程序中定期使用它,则最好将这些视图创建为组件。