微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在鸿蒙系统中使用资源 ID 加载颜色资源?

如何解决如何在鸿蒙系统中使用资源 ID 加载颜色资源?

我正在构建一个 HarmonyOS 应用程序,并且想要加载我放置在 resources/base/element/color.json 的资源文件夹中的颜色值。如何在我的 Java 类中加载这种颜色?

在 Android 中,我们可以为此使用 getColor() 函数

context.getResources().getColor(R.color.colorID);

HarmonyOS 中有什么替代方案?

解决方法

可以参考以下实现:

  1. color.json
{

  "color": [

    {

      "name": "primary","value": "#FF0000"

    }

  ]

}

  1. MainAbilitySlice
    public void onStart(Intent intent) {

        super.onStart(intent);

        super.setUIContent(ResourceTable.Layout_ability_main);



        ResourceManager resManager = this.getResourceManager();

        try {

            int color = resManager.getElement(ResourceTable.Color_primary).getColor();

            Text text = (Text) findComponentById(ResourceTable.Id_text_helloworld);

            text.setTextColor(new Color(color));

        } catch (IOException e) {



        } catch (NotExistException e) {



        } catch (WrongTypeException e) {



        }

    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。