代码计算TextView是单行还是多行

    String mDisplayContent = "aaaaaaaaa";
    TextPaint textPaint = new TextPaint();
    textPaint.setTextSize(getResources().getDimension(R.dimen.font_size8));
    DisplayMetrics dm = getResources().getDisplayMetrics();
    int viewWidth = dm.widthPixels - contentTv.getPaddingLeft() - contentTv.getPaddingRight();
    //用DynamicLayout,在TextView未绘制的情况下,计算textView行数
    DynamicLayout textLayout = new DynamicLayout(mDisplayContent,
            textPaint, viewWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, true);
    if (textLayout.getLineCount() > 1) {
        contentTv.setGravity(Gravity.CENTER_VERTICAL);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容