2014-06-05 163 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); 

您的代碼現在將考慮你的屏幕密度考慮進去。這將有助於在不同設備之間保持一致的尺寸。