personnalisé la police du texte dans PreferenceScreen
Mon PreferenceActivity ressemble:
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.widget.TextView;
public class Settings extends PreferenceActivity {
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//setContentView(R.layout.about);
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);
if (Build.VERSION.SDK_INT<Build.VERSION_CODES.HONEYCOMB)
{
addPreferencesFromResource(R.xml.preferences);
} else {
//Display the fragment as the main content.
getFragmentManager().beginTransaction().replace(android.R.id.content,
new PrefsFragment()).commit();
}
}
public static class PrefsFragment extends PreferenceFragment
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
}
}
}
Et preference.xml
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:dialogTitle="@string/size_dialog"
android:entries="@array/size_list"
android:entryValues="@array/entry_size"
android:key="size_list"
android:summary="@string/size_summary"
android:title="@string/pref4title"
/>
</PreferenceCategory>
<PreferenceCategory
android:title="@string/pref_about"
android:layout="@layout/about"
>
</PreferenceCategory>
</PreferenceScreen>
@mise en page/sur (about.xml):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/about_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="some text here"
/>
</LinearLayout>
J'ai spécifiques de la langue, de sorte que le texte dans about.xml je dois utiliser les polices de caractères particulières. Régulièrement pour TextView j'utilise:
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);
mais ce que je doit utiliser pour accéder à du texte dans about.xml qui ajouter de prefernce écran ?
Merci d'avance!
OriginalL'auteur Sever | 2012-11-02
Vous devez vous connecter pour publier un commentaire.
Mettre le custom de préférence dans votre PreferenceActivity
J'ai mis "nouveau CustomPreference(ce)" dans PreferenceActivity après "super.onCreate(savedInstanceState)" mais rien n'est changé. Aussi j'ajoute changement onBindView(View view) {super.onBindView(vue);Caractères timesFont =la Police de caractères.createFromAsset(ce.contexte.getAssets(), "fonts/temps.ttf"); TextView about_txt = (TextView).findViewById(android.R.id.titre); about_txt.setTypeface(timesFont);} mais aucun effet
CustomPreference est l'élément d'interface utilisateur - vous devriez l'appeler (CustomPreference) findPreference();
Pouvez-vous, s'il vous plaît, mettez à jour votre post avec le droit d'appeler CustomPreference et changer la police...parce que tout ce que j'essaie de ne pas travailler
OriginalL'auteur Yahor10
La façon la plus simple de changer de police de caractères pour tous les
TextViews
dansPreferenceScreen
est:Que c'est!
a travaillé avec succès. Je vous ai donné Étoiles
OriginalL'auteur Nolesh
Peut-être plus facile d'écrire votre propre Préférence et l'ajouter dans xml
il suffit de régler le police personnalisée via Spannable les paramètres des champs de:
(semble longue mais vite fait :))
solution complète:
appel pour tous les goûts et vous avez terminé 🙂
avoir du plaisir && bonne chance
btw: sur la modification du texte, de l'appeler à nouveau!!
btw2: vérifié, vu, appliquée, l'amélioration de l' 😉 de: https://stackoverflow.com/a/10741161/371749
btw3, presque oublié:
summary
deListPreference
. Savez-vous comment changersummary
police?la solution fonctionne très bien avec le champ de résumé ainsi, et c'est un peu plus agréable à la solution.
OriginalL'auteur cV2
Avec l'ajout de la prise en charge des polices dans android O, nous pouvons maintenant définir un
font-family
app thème et qui refléterait dans laPreferenceFragment
. (Note: j'utilisePreferenceFragmentCompat
). Tout d'abord ajouter unfont-family
pour les ressources comme ceci:REMARQUE: Vous devez à la fois
app
etandroid
déclarations d'espace de noms que de maintenant LienPuis ajouter un
style
pour l'affichage de texte la mention de cettefont-family
pour laTextView
:Et puis finalement, tout simplement se référer à la ci-dessus
style
dans votreAppTheme
comme ceci:Fait. Cela permettra de montrer personnalisé police dans votre
PreferenceFragmentCompat
.OriginalL'auteur Swapnil