0

我想通过将其放入包含所有图标图像的文件夹的文件路径中来动态地在底部栏中添加图标(以避免每次编译应用程序)。我找到了这张,但我真的不明白如何调整它......

   @Override
    public void run() {
        Menu menu = bottomNavigation.getMenu();
        if (menu.size() == 0) {
            MenuMap = new ArrayMap<String, Integer>();
            for (int i = 0; i < myitems_detail.length(); i++) {
                try {
                    JSONObject obj = myitems_detail.getJSONObject(i);
                    if (obj.getString("ICONE") != null) {
                        int imgID = mContext.getResources().getIdentifier(obj.getString("ICONE"), "drawable", mContext.getPackageName());
                        MenuItem myItem = menu.add(0, obj.getInt("PAGE_ORDER"), 0, obj.getString("MENU_NAME"))
                                .setIcon(imgID);

                        MenuMap.put(obj.getString("MENU_NAME"), obj.getInt("id"));

                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }

        }
    }

有任何想法吗?提前致谢。

4

1 回答 1

0

我认为这对你有用,但这种情况下你必须输入文件的完整路径也使用它的任何 Web URL

 Uri filePath = null;

在这里传递 URL 或

 filePath = Uri.parse("String file location or url");

        Bitmap myBitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
        myMenuItem.setIcon(new BitmapDrawable(getResources(), myBitmap));
于 2020-09-01T14:58:22.153 回答