【发布时间】:2012-05-19 10:32:29
【问题描述】:
我正在尝试在 Edittext 中插入一个 textview,如下所示
谁能给我一些关于如何实现它的想法。
谢谢:)
更新: 编辑文本中的文本视图会动态变化。
【问题讨论】:
-
这看起来不像是编辑文本中的简单文本视图。它是一种
PopupWindow视图
标签: android textview android-edittext android-custom-view
我正在尝试在 Edittext 中插入一个 textview,如下所示
谁能给我一些关于如何实现它的想法。
谢谢:)
更新: 编辑文本中的文本视图会动态变化。
【问题讨论】:
PopupWindow 视图
标签: android textview android-edittext android-custom-view
试试这个示例代码。它符合您的要求。
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。
但或者你可以让它看起来那样。以下是步骤
BitmapDrawable
SpanableString (ImageSpan)SpannableString 设置为您的EditText
我最近完成了这种ui,在我的博客Making GoSmsPro/Evernote like EditText中有解释
【讨论】:
您可以像上面提到的框架布局一样根据您的需要创建一个组件。当文本视图位于 EditText 之上时,您可能有一个带有两个视图的 FrameLayout 或 RelativeLayout,例如 EditText 和 TextView。如果你想像你的图片一样,你也可以把图像视图放在右边。
虽然您不需要创建组件并且可以轻松地在 XML 布局中执行此操作,但如果您计划在应用程序中定期使用它,最好将这些视图创建为组件。
【讨论】: