TextView换行居中,每行居中显示

原创 2016年08月29日 18:57:16

textView默认换行是顶到textview的左边的,有时候需求会要求文本中的每行都是居中的,下面的代码可实现:

public class CenterTextView extends TextView {
    private StaticLayout mStaticLayout;
    private TextPaint mTextPaint;

    public CenterTextView(Context context) {
        super(context);
    }

    public CenterTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CenterTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(w, h, oldw, oldh);
        initView();
    }

    private void initView() {
        mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
        mTextPaint.setTextSize(getTextSize());
        mTextPaint.setColor(getCurrentTextColor());
        mStaticLayout = new StaticLayout(getText(), mTextPaint, getWidth(), Layout.Alignment.ALIGN_CENTER, 1.0f, 0.0f, false);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        mStaticLayout.draw(canvas);
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

34.标题换行居中的TextView

在app中有一个展示数据的ListView,里面adapter中有标题和内容,标题居中显示。后来发现过长的标题在换行后会换行后靠左显示,不会居中。在网上找到了一个自定义TextView,可以实现换行后...

android自定义换行居中CenterTextView

在我们开发app时,TextView一定是使用最多的控件了,android自带的TextView的功能也十分强大,但还是有些小的地方不能满足我们的需求,几天要说的这个功能也是开发中很常见的,就是,在我...

Android TextView 文字居中

有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_TxtTitle.setGravity(Grav...

android textview自动换行、排列错乱问题及解决

今天忽然发现android项目中的文字排版参差不齐的情况非常严重,不得不想办法解决一下。经过研究之后,终于找到了textview自动换行导致混乱的原这个问题是由于:半角字符与全角字符混乱所致!一般情况...

TextView实现一行居中显示,多行居左显示

在微博上看到的一篇文章,其中有一个技术点就是说的这个-----------TextView实现一行居中显示,多行居左显示。 方法如下: xml version="1.0" encoding="...

自定义TextView超过一行换行居中

package com.shcc.microcredit.views; import android.content.Context; import android.graphics.Canvas;...

Android LinearLayout中TextView标签项自动换行的一种解决方案

在一些项目中,比如搜索,广告热门关键词dengd

textview中自动换行显示文本内容

在做项目中遇到textview显示文本内容,一行显示不下,但是textview并没有自动换行显示。如下图情形(此图是借用网上的) 根据网上的内容设置了android:ellipsize="none...

android 换行符(\n) 在TextView中显示不正常的问题

从服务器获取的数据设置到textview上 ,转义字符无法识别会显示\r\n  java有个方法 替换字符串中的字符叫  replace(参数一,参数二) 参数一:你要替换的字符; 参数二:替换...

Android LinearLayout中TextView标签项自动换行的一种解决方案

http://blog.csdn.net/freesonhp/article/details/38850807
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)