0
私はこの権利を守るのに苦労しています。複数のスクリーンサポートのためにdpをピクセルに変換する
基本的にImageViewを作成し、それにLayoutParameterを適用しています。
LayoutParams lp = new LayoutParams(width, height);
lp.gravity = Gravity.CENTER;
私はwidth
とheight
パラメータは画素数を受け取ることを知っているので、私はDPに渡すと、使用して絶対的なピクセルに変換しています:
public int convertToPixels(float dpSize){
final float density = getResources().getDisplayMetrics().density;
return ((int) (dpSize * density + 0.5f));
}
として、私の知る、これは描画可能にすべきです別の画面で正確に同じ領域を塗りつぶすのでしょうか?残念ながら、それはまったく起こっていません。
私が使用しているこれらの方法には何か問題がありますか?
以下の2つのエミュレータは、同じイメージと同じDP量を持っています。 左のエミュレータは1.0の密度で、右のエミュレータは2.0です。なぜまだそれは と異なって見えるのですか? .. undertandないでください
Saini、私の編集を見てください。同じdpの金額でも正しく表示されないのはなぜですか? – AndroidDev
は私のコードがあなたのために正しく働いていますか? – Saini
それは計算が正しいと確信していますが、イメージはまだサイズのtermos – AndroidDev