10
votes

Définir la police personnalisée pour le texte dans PréférencesCrean

Ma préfecture ressemble à: xxx pré>

et préférences.xml strong> p> xxx pré>

@Layout / À propos (environ.xml): strong> p> xxx pré>

J'ai une langue spécifique, donc pour le texte dans environ.xml, je devrais utiliser une police spécifique. Régulièrement pour TextView i Utilisez: P>

 Typeface timesFont = Typeface.createFromAsset(getAssets(), "fonts/times.ttf");

 TextView about_txt = (TextView) findViewById(R.id.about_txt);        
 about_txt.setTypeface(timesFont);
 about_txt.setText(R.string.about_txt);


0 commentaires

4 Réponses :


4
votes
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >


    <PreferenceCategory 
        android:title="category1">

        <com.project.main.preference.CustomPreference 
            android:key="key"
            android:title="title"
            />  

        <com.project.main.preference.CustomPreference 
            android:key="key"
            android:title="title"/>

    </PreferenceCategory>

</PreferenceScreen>

7 commentaires

Merci pour une réponse rapide, mais lorsque je "prolonge la préférence" au lieu de "Préférence de la préfecture", alors involonible pour utiliser AddPreferencesFromResource. Ou peut-être que je fais quelque chose de mal?


Mettre la préférence personnalisée dans votre préférence


J'ai mis "nouvelle préconférence (this)" dans la préfecture de préfenciation après "Super.Oncreate (SavedInstanCetate)" mais rien n'est changé. Aussi i Ajouter Modifier Onbindview (voir Afficher) {super.onbindview (vue); Typeface Timesfont = TypeFace.CreateFromasset (this.context.getactsets (), "Polices / Times.ttf"); TextView Authow.txt = (TextView) View.findviewyID (android.r.id.title); environ_txt.settypeface (Timesfont);} mais aucun effet


CustomPreference est l'élément d'interface utilisateur - vous devez l'appeler (CustomPreference) FindPreference ();


Pouvez-vous, s'il vous plaît, mettez-vous à jour votre message avec la bonne façon d'appeler personnaliséPrrengence et de changer de police ... parce que tout ce que j'essaie de ne pas travailler


Merci, merci beaucoup, tu m'aimes beaucoup. Merci pour votre temps. Je comprends maintenant où j'ai commis une erreur.


ClasscastException est là dans la préconférence (); Que faire maintenant?



6
votes

Peut-être plus facile d'écrire votre propre préférence et de l'ajouter en XML
Il suffit de définir la police personnalisée via Spannable dans les champs de paramètres :
(a l'air long mais rapide fait :))

solution complète: xxx

appelez-le pour toutes les préférences et vous avez terminé:)

amusez-vous && bonne chance

BTW: sur le texte changeant, appelez-le de nouveau!!
BTW2: vérifié, vu, appliqué, amélioré;) de: https://stackoverflow.com/a/10741161/371749

BTW3, presque oublié: xxx


2 commentaires

Merci pour la solution facile. Police personnalisée appliquée sur tout le texte sauf Résumé de listpreference . Savez-vous comment changer résumé police?


@ Nolesh's Solution fonctionne également avec le champ Résumé, et est une solution bit plus gentille.



6
votes

Le moyen le plus simple de changer de typeface pour tous les textviews dans PréférencesCrean est: XXX

C'est ça!


0 commentaires

3
votes

Avec l'ajout de la prise en charge des polices dans Android O, nous pouvons maintenant définir un thème Font-famille CODE> vers App et qui reflèterait automatiquement dans le PréférencesFRAGEMENT CODE>. (Remarque: j'utilise PréférencesFragmentCompat Code>). Ajoutez d'abord un Font-famille CODE> dans les ressources telles que ceci:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    ........
    <item name="android:textViewStyle">@style/NunitoTextViewStyle</item>
</style>


0 commentaires