Android 使用关联菜单在编辑器中插入文本和图片
我正在努力学习android编程。我成功地创建了屏幕并在其中导航。现在我正在尝试一些冒险的事情 我正在创建一个类似MS Word的文本编辑器,您可以在其中键入文本并使用关联菜单插入图库中的图像 我浏览了链接。不过,我有几个问题Android 使用关联菜单在编辑器中插入文本和图片,android,Android,我正在努力学习android编程。我成功地创建了屏幕并在其中导航。现在我正在尝试一些冒险的事情 我正在创建一个类似MS Word的文本编辑器,您可以在其中键入文本并使用关联菜单插入图库中的图像 我浏览了链接。不过,我有几个问题 EditText是此控件的正确控件吗 如何从光标所在的位置调用上下文菜单 如何将图像粘贴到光标所在的位置 对此的任何见解都将大有裨益。好的,让我们逐一解决: EditText是此控件的正确控件吗 当然,除非您想创建一个像MS word一样的应用程序,否则这将非常有效 类
对此的任何见解都将大有裨益。好的,让我们逐一解决: EditText是此控件的正确控件吗 当然,除非您想创建一个像MS word一样的应用程序,否则这将非常有效 类似于多个编辑文本的内容可以用作word上的不同页面,您可以使用每个“页面”的常规XML属性指定长度和宽度,通过
视图将它们分开,以获得页面的结尾和新页面机制的开始
现在,要实现用光标添加图片,您只需创建一个上下文菜单,并以编程方式将该图像添加到布局中,结束编辑文本
,创建图像视图
,然后继续另一个编辑文本
,让我们看看如何做到这一点:
首先是您的上下文菜单:
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
if(item.getTitle().equals("Insert Image") ){
InsertImage(Uri imageUri);
}
}
如何从光标所在的位置调用上下文菜单
如何将图像粘贴到光标所在的位置
您需要实现一个名为View.OnCreateContextMenuListener
的功能,在您按下的任何位置单击即可完成该功能,因此,正如您将看到的,您要么必须实现另一种方法来获取光标所在的位置,然后将编辑文本拆分为两个不同的编辑文本
,然后插入图像,要么必须始终按照图片所示将图像放在文本视图下
其次,当创建上下文菜单时,我们可以调用一个方法,将其称为“InsertImage”,并使用从menuInflater传递的Uri参数或定义为类中的变量,以创建一个ImageView
,位于EditText
之后,假设父布局是线性布局:
LinearLayout LLayout = findViewById(R.id.linearLayout);
ImageView mImageView = new ImageView(this);
mImageView.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
LLayout.addView(mImageView);
在方法“插入图像
”完成后,如果图像已上载或未上载,则可以返回一个布尔值
,为您提供true,然后,您将创建另一个方法来启动一个新的编辑文本
,与图像视图
完全相同,但如果它没有上载,则您可以调用移除视图
,方法与添加视图
相同。我认为您应该使用添加图像和文本的方法。我有点困惑。ContextMenu的代码在哪里?MainActivity.Java?在哪里以及如何调用上下文菜单代码?