zoukankan      html  css  js  c++  java
  • Android之垂直显示TextView

                                            Android之垂直显示TextView

                1因为界面需求原因,需要TextView垂直显示,话不多说,看代码,我也是搜的例子,在此感谢写这个例子的大神,在此做个笔记和分享给大家

                 2.用到了自定义控件的知识,下面就来看看如何自定义的

                java代码如下:

                

    package com.android.xxx;

    import android.content.Context;

    import android.graphics.Canvas;
    import android.util.AttributeSet;
    import android.view.Gravity;
    import android.widget.TextView;

    public class VerticalTextView extends TextView{
    final boolean topDown;


    public VerticalTextView(Context context, AttributeSet attrs){
    super(context, attrs);
    final int gravity = getGravity();
    if(Gravity.isVertical(gravity) && (gravity&Gravity.VERTICAL_GRAVITY_MASK) == Gravity.BOTTOM) {
    setGravity((gravity&Gravity.HORIZONTAL_GRAVITY_MASK) | Gravity.TOP);
    topDown = false;
    }else
    topDown = true;
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
    super.onMeasure(heightMeasureSpec, widthMeasureSpec);
    setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
    }


    @Override
    protected boolean setFrame(int l, int t, int r, int b){
    return super.setFrame(l, t, l+(b-t), t+(r-l));
    }

    @Override
    public void draw(Canvas canvas){
    if(topDown){
    canvas.translate(getHeight(), 0);
    canvas.rotate(90);
    }else {
    canvas.translate(0, getWidth());
    canvas.rotate(-90);
    }
    canvas.clipRect(0, 0, getWidth(), getHeight(), android.graphics.Region.Op.REPLACE);
    super.draw(canvas);
    }
    }

    然后看layout xml布局文件中

    此控件的写法:

    <com.android.xxx.VerticalTextView
    android:id="@+id/xxxName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"
    android:layout_marginRight="14dp"
    android:textSize="27dp"
    android:gravity="bottom|right"
    android:maxLength="15"
    android:visibility="visible"
    android:textColor="#ffffff"
    />

     

  • 相关阅读:
    4 Apr 18 软件开发目录 logging模块的使用 序列化(Json, Pickle) os模块
    3 Apr 18 内置函数 列表生成式与生成器表达式 模块的使用之import 模块的使用之from…import…
    2 Apr 18 三元表达式 函数递归 匿名函数 内置函数
    30 Mar 18 迭代器 生成器 面向过程的编程
    29 Mar 18 函数 有参、无参装饰器
    28 Mar 18 函数
    27 Mar 18 函数的参数
    26 Mar 18 函数介绍
    23 Mar 18 文件处理
    22 Mar 18 补充数据类型+字符编码+文件处理
  • 原文地址:https://www.cnblogs.com/cxqd/p/5848557.html
Copyright © 2011-2022 走看看