日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android TextView 竖向显示(字体长度对字体位置有影响)

發布時間:2024/3/24 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android TextView 竖向显示(字体长度对字体位置有影响) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需求:

Android字體豎向顯示

1、使用android:rotation="90";不足:如果字體很長,那么會有很長的距離。

2、自定義TextView豎向布局。消除了字體長度對字體位置有影響

1、rotation使用(不建議)

效果圖:

代碼:

<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:rotation="90"android:text="① 請拍攝身份證人像面"android:textColor="@color/font_white"android:visibility="gone" />

如圖:由于 ① 請拍攝身份證人像面 這個字體太長,導致右側右邊距。所以需要自定義TextView

2、自定義TextView(建議)

效果圖:

引用代碼:

<com.baofu.yunfutong.ui.view.VerticalTextViewandroid:id="@+id/tv_topText"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="① 請拍攝身份證人像面"android:layout_centerVertical="true"android:textColor="@color/font_white" />

VerticalTextView代碼:

package com.baofu.yunfutong.ui.view;import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; import android.util.AttributeSet; import android.view.Gravity; import android.widget.TextView;/*** TextView豎向顯示* Created by zst on 2018/12/6.*/ @SuppressLint("AppCompatCustomView") 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;}elsetopDown = true;}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){super.onMeasure(heightMeasureSpec, widthMeasureSpec);setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());}@Overrideprotected boolean setFrame(int l, int t, int r, int b){return super.setFrame(l, t, l+(b-t), t+(r-l));}@Overridepublic 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);} }

如圖:消除了字體長度對于字體位置的影響。

總結

以上是生活随笔為你收集整理的Android TextView 竖向显示(字体长度对字体位置有影响)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。