Android получить текстовый вид во время выполнения - PullRequest
2 голосов
/ 24 января 2012

Я переопределил класс textview, и я хочу выполнить некоторые вещи, когда textappearance мало.

Как проверить внешний вид текста, заданный файлом макета xml?

1 Ответ

4 голосов
/ 25 января 2012

Я нашел обходной путь:

private int getTextAppearance(AttributeSet attrs, int defStyle) {
    int answer = defStyle;
    for(int i=0; i<attrs.getAttributeCount(); i++) {
        if(attrs.getAttributeNameResource(i) == android.R.attr.textAppearance) {
            String attrStringValue = attrs.getAttributeValue(i);
            if(attrStringValue != null) {
                attrStringValue = attrStringValue.replace("?", "");
                answer = Integer.parseInt(attrStringValue);
            }
        }
    }
    return answer;
}

, если конструктор вызывает эту функцию, тогда я могу проверить идентификатор, который был установлен как textappearance.

if(getTextAppearance(attrs, -1) == android.R.attr.textAppearanceSmall) {}
...