java - 如何创建自定义 Android View ?使用 XML 对象还是绘图 API?

标签 java android

我正在尝试创建一个新 View :

  • 加载图像

  • 允许用户用两根手指缩放和旋转图像,同时“裁剪框”在顶部保持半透明,而图像延伸到“裁剪框”之外

  • 最终目标是能够标记主图像的旋转和位置(以便稍后我可以裁剪或显示裁剪框中的区域)

我想知道是否可以使用一个在背景中保存图像的 ImageView 和另一个在其顶部保存裁剪框的 ImageView 来完成此操作,然后使用 TouchEvents 来移动图像,这行得通吗?

或者我需要在 2D 表面上使用一些绘图 API 吗?

我对在 Android 中创建自定义对象非常陌生,而这些对象不仅仅是自定义的开箱即用 View 。

创建这样的东西的标准方法是什么?

谢谢!

最佳答案

通过扩展 RelativeLayout 并在其中包含两个重叠的 ImageView 来创建一个 Compound View。然后在新创建的 View 中覆盖 onTouch 事件或覆盖 onGestureDetector 接口(interface)。

官方文档:http://developer.android.com/guide/topics/ui/custom-components.html 另一个教程:http://www.vogella.com/tutorials/AndroidCustomViews/article.html

关于java - 如何创建自定义 Android View ?使用 XML 对象还是绘图 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26797588/

相关文章:

android - 移除高程阴影而不移除高程本身

android - Android SDK 23 中的 "context click"是什么

java - Apache Kafka 0.9 Java API 使用主题开头的所有消息

java - 泛型中的泛型

java - 为什么为 Java VM 编写了这么多新语言?

java - ActiveMq v5.10 中 JMS 生产者的消息头大小

java - ANDROID STUDIO 本地 json 文件在更改 Activity 时重置

android - FileOutputStream 因 FileNotFoundException 而失败,即使文件显然存在、可写且具有权限

java - 将多个对象写入和读取到文件

java - 异常 : Session Issue ids for this class must be manually assigned before calling save(): org. me.Testservices.TblUsers