• 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

  • 相关阅读:
    负载均衡的基础技术种类
    scp基本使用方法
    给linux添加yum源。
    Linux 克隆虚拟机引起的“Device eth0 does not seem to be present, delaying initialization”
    FastDFS-单机版安装
    已安装nginx动态添加模块
    FastDFS
    七、CentOS 6.5 下 Nginx的反向代理和负载均衡的实现
    www.xxx.com 与 m.xxx.com 的Nginx服务器实现
    六、CentOS 6.5 下Nginx的配置
  • 原文地址:https://www.cnblogs.com/zhou-guobao/p/6050061.html
Copyright © 2020-2023  润新知