そのため、特定の理由から、String
(TextView に配置された) サイズ (ピクセル単位) がデバイスの幅のサイズ (ピクセル単位) を超えないようにする必要があります。私が使用する画面の幅を取得するには:
final float scale = context.getResources().getDisplayMetrics().density;
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
try{
Point size = new Point();
display.getSize(size);
screenWidth = size.x;
}catch(NoSuchMethodError e){
screenWidth = display.getWidth();
}
screenWidth = screenWidth - ((int) (10 * scale + 0.5f)); //takes into account a 10dp margin
そして、私が使用する文字列の長さを取得するには:
paint.measureText(string);
string はString
オブジェクトで、paint はPaint
オブジェクトです。私が直面している問題は、画面の長さがはるかに長い場合でも、画面の長さよりも小さいmeasureText
とメソッドが言っていることです。String
私は何かを見落としましたか?これを行うためのより良いアプローチはありますか? ヘルプ、提案、アドバイスをいただければ幸いです。ありがとう!