2017-09-13 10 views
0

私はサーバーから画像をダウンロードしていますが、画像は同じではありませんので、error()メソッド(50x50ピクセル)から画像を作成する必要があります。私はこのコードPicassoは別の画面でサイズを変更します

Picasso.with(context) 
      .load(url) 
      .error(R.drawable.non_pic) 
      .resize(100, 100) 
      .into(holder.user_icon); 

を試験したとき、しかし、私はネクサス4(768×DIAG = 4.7、1280)に基づいて、私のMeizuのプロ6(= 424 DIAG = 5.2、PPI、1920×1080)で、エミュレータ上で、それに気づきましたresize()の後には画像のサイズが異なります。 Meizuの画像は非常に小さいですが、エミュレータ上ではerror()の画像と同じサイズです(non_picは50x50ピクセルの解像度のpngファイルです)。 それでは、non_picのパラメータと同じものを使って、ハードセットイメージのサイズを取得するにはどうすればよいですか?

答えて

0

pxを測定に使用しているからです。 代わりにDp/Dpiを使用してください。ここでは、here

を参照してくださいpxとDPについての詳細はDP

public static float convertPixelsToDp(float px, Context context){ 
Resources resources = context.getResources(); 
DisplayMetrics metrics = resources.getDisplayMetrics(); 
float dp = px/((float)metrics.densityDpi/DisplayMetrics.DENSITY_DEFAULT); 
return dp; 
} 

にピクセルを変換することができますどのような方法であります

関連する問題