2014-06-05 165 views
0

我已经成功实施的图释按照this link.Problem使用在资产不同密度的图像是,所选择的表情符号出现太small.I已经通过改变dimensionsof试图前面显示的drawable如下在机器人机器人

ImageGetter imageGetter = new ImageGetter() { 
     public Drawable getDrawable(String source) { 
      StringTokenizer st = new StringTokenizer(index, "."); 
      Drawable d = new BitmapDrawable(getResources(), 
        emoticons[Integer.parseInt(st.nextToken()) - 1]); 

      Log.i("tag", "" + Integer.parseInt(st.nextToken())); 

      Drawable drawable = getResources().getDrawable(
        getResources().getIdentifier(
          "e" + (Integer.parseInt(st.nextToken()) - 1), 
          "drawable", getPackageName())); 
      // d.setBounds(0, 0, d.getIntrinsicWidth(), 
      // d.getIntrinsicHeight()); 
      d.setBounds(0, 0, 40, 40); 
      return d; 
     } 
    }; 

但是这没有帮助。 其中.png图像是在资产folder.Is那里的资产文件夹中有dirrent密度的图像的方式呢?就像被拉伸-LDP,绘制-MDP ...?

+0

可能重复的[Android负载可绘制编程和调整大小](http://stackoverflow.com/questions/8837810/android-load-drawable-programatically-and-resize-it) – fpanizza

+0

为什么不只是放在drawable文件夹呢? – Budius

回答

0

尝试以下操作:调整对象时

DisplayMetrics metrics = getResources().getDisplayMetrics(); 
int densityDpi = (int)(metrics.density * 160f); 

d.setBounds(0, 0, 10*densityDpi, 10*densityDpi); 

您的代码现在将考虑你的屏幕密度考虑进去。这将有助于在不同设备之间保持一致的尺寸。