美文网首页
Android自定义控件(二,查看TextView属性)

Android自定义控件(二,查看TextView属性)

作者: CarlosLynn | 来源:发表于2018-12-29 15:22 被阅读4次

目录

前言

在实际开发中,我们需要自定义属性,可是又无从下手,那么我们是不是可以参考android sdk 中控件来写呢?这篇文章带大家探索,系统控件的属性.

系统属性所在目录

系统控件属性存放在sdk的如下目录中,每个人电脑存放路径不同,但是sdk中的路径都是相同的.
例如本机电脑路径:
C:\MyPrograms\Android\SdkAS20180802\platforms\android-26\data\res\values

查看系统属性

在values目录下我们用编辑器打开attrs.xml

image.png

搜索锁定TextView属性集

    <declare-styleable name="TextView">
        <!-- Determines the minimum type that getText() will return.
             The default is "normal".
             Note that EditText and LogTextBox always return Editable,
             even if you specify something less powerful here. -->
        <attr name="bufferType">
            <!-- Can return any CharSequence, possibly a
             Spanned one if the source text was Spanned. -->
            <enum name="normal" value="0" />
            <!-- Can only return Spannable. -->
            <enum name="spannable" value="1" />
            <!-- Can only return Spannable and Editable. -->
            <enum name="editable" value="2" />
        </attr>

搜索name="text"属性

<attr name="text" format="string" localization="suggested" />

我们可以看到系统控件TextView属性text的定义,那么如何读取该属性呢,我们回到TextView源码中查看.

解析读取属性

进入构造函数

 public TextView(
            Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {}

查看属性读取

CharSequence text = "";

case com.android.internal.R.styleable.TextView_text:
  fromResourceId = true;
  text = a.getText(attr);
  break;

相关文章

网友评论

      本文标题:Android自定义控件(二,查看TextView属性)

      本文链接:https://www.haomeiwen.com/subject/eezulqtx.html