Comment lire personnalisé attribut de dimension à partir du code java

J'ai fait mon composant personnalisé juste mettre quelques TextViews ensemble. Maintenant, je veux être en mesure d'init de mon contrôle personnalisé directement à partir du code, en passant la taille du texte indépendamment pour chaque de de TV

Mes attributs définition:

<resources>
    <declare-styleable name="BasicGauge">
        <attr name="valueTextSize" format="dimension" />
        <attr name="titleTextSize" format="dimension" />
        <attr name="unitsTextSize" format="dimension" />
    </declare-styleable>
</resources>

De l'échantillon de l'initialisation de la composante:

<pl.com.digita.BikeComputerUi.customviews.BasicGauge
    android:id="@+id/basicGauge1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:padding="10dp"
    valueTextSize="40sp">

</pl.com.digita.BikeComputerUi.customviews.BasicGauge>

Comment j'essaie de lire les attributs du composant constructeur:

final int N = typedArray.getIndexCount();
for (int i = 0; i < N; i++) {
    int attribute = typedArray.getIndex(i);
    switch (attribute) {
        case R.styleable.BasicGauge_valueTextSize:
            valueTextSize = typedArray.getString(attribute);
            break;
        case R.styleable.BasicGauge_titleTextSize:
            titleTextSize = typedArray.getString(attribute);
            break;
        case R.styleable.BasicGauge_unitsTextSize:
            unitsTextSize = typedArray.getString(attribute);
            break;
    }
    typedArray.recycle();
}

Problème:
Après la création de l'ensemble de mes valeurs sont toujours null. 40sp est exactement ma valeur souhaitée.

InformationsquelleAutor piotrpo | 2013-05-16