我是Android应用程序开发的新手。我正在构建一个Android应用程序,用户需要能够在现有图像上添加语音气泡(想想漫画)。我有一些关于如何实施的问题,
拜托,我需要你的帮助!
发布于 2011-07-02 13:22:16
这是一个非常广泛的问题。我的答案是很快就会运行,尽管我个人如何在观点上做演讲泡泡。
在Android平台上,通常使用混合视图对象来表示屏幕上的任何信息。例如,如果显示图像,则使用ImageView。要显示一个项目列表,它是一个ListView。有许多,许多标准类型的视图,为了不同的目的,系统作为显示不同类型信息的标准。您通常会使用这些视图的组合来构建UI屏幕。
通常,您需要创建自己的View子类。如果您想要绘制某种类型的图形,即当您将矢量图形绘制到画布上时,您通常会这样做。例如,如果要使用line Path()对象绘制语音气泡(例如,用黑色笔画和白色填充绘制椭圆和线条,以形成语音气泡),则可以创建SpeechBubbleView,它扩展了视图。在它的onDraw()方法中,您可以绘制语音气泡图形。另一方面,您可能希望使用位图来表示您的语音气泡,而不是绘制它。然后,无论以何种方式绘制语音气泡,您都希望在其中插入文本--可能使用TextView。但是用单一的视图对象来表示气泡和文本不是更好吗?是的,所以你可能做的是把你的语音气泡图形和TextView包含在一个ViewGroup中-- ViewGroup是一种可以容纳子视图的视图类型。您可能使用的ViewGroup的特定子类是RelativeLayout,它是一个允许其子视图重叠的视图。因此,您可以使用扩展SpeechBubbleView的RelativeLayout,并且它的子视图可能是包含语音气泡位图的TextView和ImageView。
至于如何将语音气泡覆盖在图像上,您可能会再次使用RelativeLayout。在布局XML文件中,主父容器将是一个RelativeLayout。在该子视图中,可能是一个包含用户希望放置语音气泡的位图的ImageView。然后,进一步的子视图将是您的SpeechBubbleViews。
至于将语音气泡拖来拖去,您可以在活动中使用OnTouchListener。我有一些拖放代码在我现在打开的当前项目中工作;我可以为您复制和粘贴其中的一些代码,但老实说,我认为这是一个单独的、更具体的问题,您首先需要掌握更多的基本知识。
你的问题非常广泛,有很多地方可供你讨论,但希望这些建议会有用。
发布于 2011-07-02 13:11:20
我认为最简单(注意:不一定是最好的)实现这一点的方法是使用9贴片语音气泡图像,并将其设置为TextView
的背景。您可以添加文本,如果您正确构建了9修补程序,那么所有内容都应该自动调整大小。不幸的是,我没有太多的经验在Android中拖放,但它不应该太难。
发布于 2013-05-29 11:50:29
油漆=新油漆(); paint.setColor(Color.BLACK); Paint.setAntiAlias(真); paint.setStrokeWidth(2); paint.setStyle(Paint.Style.STROKE); Path =(); path.moveTo(myPath.x,myPath.y); 对于(int i= 1;i< myPath.length;i++){ path.lineTo(myPathi.x,myPathi.y); } path.close(); canvas.drawPath(path,path);
使用this.maybe很有帮助,但您需要自己定制
https://stackoverflow.com/questions/6557121
复制相似问题