私のアプリケーションのクラッシュレポートが1件ありました。どの値を0にするか?
//sWP stands for "Screen Width in Pixels"
// sW stands for "Screen Width" The code is old though, so I may be incorrect for both variables.
//res is just getResources()
int sWP = sW/(res.getDisplayMetrics().densityDpi/DisplayMetrics.DENSITY_DEFAULT);
float bHeight = 50 * ((float)res.getDisplayMetrics().densityDpi/DisplayMetrics.DENSITY_DEFAULT);
はDisplayMetrics.DENSITY_DEFAULT
これまでにゼロにすることができます:それは、例外は、これら2つのラインの一つであるjava.lang.ArithmeticException: divide by zero
があると言いますか?またはgetDisplayMetrics().densityDpi
はいつでもゼロになりますか?
また、sWPを2倍に変更する必要がありますか?この場合も、res.getDisplayMetrics()。densityDpiは320 – Roymunson
になります。@Roymunson sWPをdoubleに変更することは、あなたが言うように私には意味がありません_ // sWPは "ピクセルの画面幅" _を表します。すみません、私はintにキャストするのを忘れました。私は私の答えを編集します。 –
@Roymunson 320の値については、densityDpiを取得すると、誰かがAPI 9にDENSITY_XHIGHを導入するときに、densityDpiのドキュメントをAPI 4から変更するのを忘れてしまった。 –