zoukankan      html  css  js  c++  java
  • TextView textSize 文字大小

    TextView,很常见的控件。关于文字大小的方法有:

    android.widget.TextView#getTextSize  返回值的单位是PX

        /**
         * @return the size (in pixels) of the default text size in this TextView.
         */
        @ViewDebug.ExportedProperty(category = "text")
        public float getTextSize() {
            return mTextPaint.getTextSize();
        }
    

      

    android.widget.TextView#getScaledTextSize 返回值单位是SP

        /**
         * @return the size (in scaled pixels) of thee default text size in this TextView.
         * @hide
         */
        @ViewDebug.ExportedProperty(category = "text")
        public float getScaledTextSize() {
            return mTextPaint.getTextSize() / mTextPaint.density;
        }
    

      

    android.widget.TextView#setTextSize(float) 参数的单位是SP

        /**
         * Set the default text size to the given value, interpreted as "scaled
         * pixel" units.  This size is adjusted based on the current density and
         * user font size preference.
         *
         * @param size The scaled pixel size.
         *
         * @attr ref android.R.styleable#TextView_textSize
         */
        @android.view.RemotableViewMethod
        public void setTextSize(float size) {
            setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
        }
    

      

    android.widget.TextView#setTextSize(int, float) 参数的单位是两个,第一个是单位,第二个是数值

        /**
         * Set the default text size to a given unit and value.  See {@link
         * TypedValue} for the possible dimension units.
         *
         * @param unit The desired dimension unit.
         * @param size The desired size in the given units.
         *
         * @attr ref android.R.styleable#TextView_textSize
         */
        public void setTextSize(int unit, float size) {
            Context c = getContext();
            Resources r;
    
            if (c == null)
                r = Resources.getSystem();
            else
                r = c.getResources();
    
            setRawTextSize(TypedValue.applyDimension(
                    unit, size, r.getDisplayMetrics()));
        }
    

      

    总结:

    • get方法,注意返回值的单位
    • set方法,注意参数的单位

    补充

    在自定义控件中使用自定义属性时,经常需要使用java代码获取在xml中定义的尺寸,相关有以下三个函数

    • getDimension()
    • getDimensionPixelOffset()
    • getDimensionPixelSize()

    它们三个返回值的单位都是:PX

  • 相关阅读:
    Centos6.5下搭建nagios详解
    Centos6.5下升级Python版本
    Python生成随机密码
    配置apache使用https访问
    Irrlicht 论坛好贴 精选(不断补充中...)
    [原创]一个在Irrlicht中会常用的字符串转换函数
    [转]Scrolling Credits Code
    [原创]Irrlicht中的Texture透明色(colorkey)
    [原创]IrrLicht的GUI使用
    [转](C++) How to animate and move an entity
  • 原文地址:https://www.cnblogs.com/zhou-guobao/p/6050061.html
Copyright © 2011-2022 走看看