生成非图标图像

时间:2016-08-10 09:36:46

标签: android image drawable

我想将图像资源添加到不会用于图标的Android应用中。我想知道在支持多种设备屏幕尺寸的同时做什么的正确方法。我能想到的唯一解决方案是将图像调整为不同的像素(宽度,高度)组合,并将它们存储在适当的可绘制文件夹中。 对于图标图像,我使用Android studio图像资源工具自动生成不同大小的图标。我希望那些不是图标的图像(不会被放置在工具栏和类似的地方)。

适用于我的解决方案

已使用Android Asset Studio, Generic Icon Generator 为不同的设备分辨率生成资源图像。

1 个答案:

答案 0 :(得分:0)

我想你可以试试这个:

  1. 创建文件夹drawable-nodpi并将图片放入其中。
  2. 使用此代码查找设备的宽度:
  3. public static int getWidth() {
        int width = 400;
        try {
            WindowManager wm = (WindowManager) DataBackApplication.getInstance().getApplicationContext()
                    .getSystemService(Context.WINDOW_SERVICE);
            Display display = wm.getDefaultDisplay();
            if (Build.VERSION.SDK_INT > 12) {
                Point size = new Point();
                display.getSize(size);
                width = size.x;
            } else {
                width = display.getWidth();  // Deprecated
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return width;
    }
    
    1. 构建您的布局。
    2. 使用以下代码加载图片:
    3. int width = getWidth();
      int imgWidth = width/6;
      int imgHeight = width/9;
      Glide.with(PermissionActivity.this)
              .load(R.drawable.privacy_mobile_img)
              .override(imgWidth, imgHeight )
              .into(imgUserPerm);
      

      使用Glide加载图片,因为它会为小型,中型或任何尺寸的设备调整大小。我以width / 6为例,您可以根据需要进行调整。