通过TextView 来测量不同分辨率下 一行能显示多少字符

首先准备好TextView   和测量字符如

    /**
     * 用  TextView  测量不同分辨率  下  一行能显示多少个字符
     */
    @SuppressLint("NewApi")
    public static int getLineMaxNumber(Activity activity, TextView textView) {
        //获取用来测量的字符串的长度
        int str_length = MyApplication.appcontext.getResources().getString(R.string.ranging_str).length();
        //获取当前字符串所占的宽度   像素单位
        int total_str_dpi = (int) textView.getPaint().measureText(textView.getText().toString());
        //获取每个字符   占多少像素
        int c_dpi = total_str_dpi / str_length;
        //获取当前   手机的分辨率   获取横坐标像素
        DisplayMetrics displayMetrics = activity.getResources().getDisplayMetrics();
        float total_dpi = displayMetrics.widthPixels;
        //获取边距像素
        int parding_dpi=textView.getTotalPaddingLeft()+textView.getTotalPaddingRight();
//        int parding_dpi=0;
        //总宽像素   减去   边距像素   等于  最终显示一行字符的像素宽度
        int end_total_dpi=(int) total_dpi-parding_dpi;
        //总像素宽度   处于   单个字符占的宽度像素   得到一行占多少字符
        return  end_total_dpi / c_dpi;
    }

你可能感兴趣的:(Android,常用)