0

Textview から拡張されたカスタム クラスがあり、レイアウトの xml で値を取得する必要があります。私は試した

public FontTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    setIncludeFontPadding(false);
    int style =  attrs.getAttributeIntValue(com.android.internal.R.styleable.TextAppearance_textStyle,-1);
    init(style);
}

しかし、com.android.internal.R.styleableパッケージが存在しないと表示されません。パッケージの外側からアクセスできると思います。

ここでxmlからスタイルを取得する方法はありますか?

の値styleable.TextAppearance_textStyleは -2001555 です。これは変更されますか、または使用することで常に正しい値を取得できますか?

int style =  attrs.getAttributeIntValue(-2001555,-1)
4

1 に答える 1

0

このようにして属性値を取得します。ドキュメントで説明されているように、 TypedArrayインデックスとは何かに注意してください。

public FontTextView(Context context, AttributeSet attrs) {
    super(context, attrs);

    int[] attrsArray = new int[]{android.R.attr.textStyle};
    final TypedArray array = context.obtainStyledAttributes(attrs, attrsArray);
    int style = array.getInt(0, -1);  // returns 1 for bold, 2 for italic
    array.recycle();
}
于 2014-07-24T10:38:42.727 に答える