android - 如何自定义 Creative SDK 图像编辑器中可用的裁剪选项

标签 android adobecreativesdk

我正在开发一个 Android 应用程序,我希望用户在从图库中选择图像后将图像裁剪为方形。

我想知道如何在选择图像后启动 Creative SDK 图像编辑器(以前称为 Aviary 图像编辑器),以便它仅显示具有方形裁剪选项且最小尺寸为 350px X 350px 的所选图像。

最佳答案

Adobe Creative SDK 图像编辑器确实提供了自定义各种功能的功能,包括向用户显示哪些裁剪(请注意,当前不支持设置裁剪的最小尺寸)。

让我们来了解一下裁剪的定制。

概述
这里的基本概念是我们将覆盖 SDK 中存在的一些默认值。

为了实现这一目标,我们将做两件事:
1.找到SDK中的默认值(这样我们就可以看到里面有什么)
2. 创建一个新的 xml 文件,仅覆盖我们要自定义的值

<强>1。查找SDK中的默认值
我们在 SDK 中查找的 xml 文件只有在您在 Android Studio 中构建项目至少一次后才会出现。如果您还没有准备好,请继续构建您的项目(您可以在 Android Studio 的“构建”菜单中执行此操作)。

现在我们需要找到 xml 文件。为了更容易查找,请确保您的 Android Studio 文件浏览器设置为项目文件模式(默认情况下设置为 Android 模式;只需单击该菜单即可选择不同的选项):
enter image description here

当文件浏览器处于项目文件模式时,转到(您不应编辑此文件):

/app/build/intermediates/exploded-aar/com.adobe.creativesdk/image/4.0.0/res/values/values.xml

让我们看看我们将覆盖哪些默认值:
- “aviary_crop_labels”(用户在 UI 中看到的标签)
- “aviary_crop_values”(配置裁剪本身的值)
- “aviary_crop_selected_index”(用户打开菜单时默认选择的裁剪)

<强>2。在您的项目中创建一个新的values.xml文件
您可以将 Android Studio 文件浏览器切换回 Android 模式(与上面第 1 步中切换模式的方式相同)。

当文件浏览器处于Android模式时,转到:

/app/res/values

在此值目录中,您可能已经有 strings.xmlstyles.xmldimens.xml 目录。

让我们在values目录中创建一个新文件并将其命名为values.xml(请注意,该文件名与我们之前在SDK中找到的文件名相匹配)。

创建values.xml 文件后,让我们覆盖之前找到的默认 SDK 值:
- “aviary_crop_labels”
- “aviary_crop_values”
-“aviary_crop_selected_index”

将以下内容添加到values.xml:

<resources>
    <string-array name="aviary_crop_labels">
        <item>@string/feather_square</item>
    </string-array>

    <string-array name="aviary_crop_values">
        <item>1:1</item>
    </string-array>

    <integer name="aviary_crop_selected_index">0</integer>
</resources>

此代码覆盖 SDK 的默认值并仅显示:
- 字符串“Square”作为标签
- 比例为 1:1 的裁剪
- 自动选择方形裁剪(数组中的第一项)

以下是您将看到的示例:
enter image description here

您可以探索 SDK 的 values.xml 文件以获取其他潜在的自定义选项。

关于android - 如何自定义 Creative SDK 图像编辑器中可用的裁剪选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32806123/

相关文章:

android - 自定义 View 扩展 View 类但仍然基于 XML 布局

android - 打开/关闭移动蜂窝数据(移动互联网)时如何触发 BroadcastReceiver

Android获取布局以在布局中动态定位和间隔元素

angularjs - 如何在 Ionic/Cordova 中集成 Adob​​e Creative SDK Feather Editor

android - Fab 不可点击

java - 我将一轮高尔夫球的每洞得分存储在数据库中。我想编写一个函数,对表中的该列求和并显示在 toast 中

android - 如何制作画廊?

android - java.lang.VerifyError : com/adobe/creativesdk/aviary/internal/account/BillingContentFactory 错误

android - bundle 更新时出现 IllegalStateException

iOS、AdobeCreativeSDK C 到 Swift