Ändern Sie Titel Schriftart des Alarms Dialogfeld Android

Ich möchte die Schriftart des Titels des Alert-Dialogfeldes ändern.

Kann jemand sagen, wie kann ich es tun?

  • Was passiert mit einer Sqlite-Datenbank, wenn App entfernt wird
  • ClassNotFoundException beim Unmarshalling: android.support.v4.view.ViewPager $ SavedState
  • Kann nicht gdx-tools zu libgdx gradle projekt hinzufügen
  • Firebase @PropertyName funktioniert nicht
  • Mehrere Töne mit SoundManager spielen
  • Android ViewPager setCurrentItem funktioniert nicht nach onResume
  • Jede Hilfe würde geschätzt werden ..

  • Android-Version überprüfen
  • Kreisschiene
  • Wie man Spalten im Tabellenlayout gleichmäßig verteilt macht, macht den maximalen Platzbedarf
  • Ist es möglich, die Google App Engine als Backend-Datenbank für Android-Anwendungen zu verwenden?
  • Tastaturprofil programmgesteuert wechseln
  • Sperren Sie Android-App nach einer gewissen Leerlaufzeit
  • 10 Solutions collect form web for “Ändern Sie Titel Schriftart des Alarms Dialogfeld Android”

    Ich fand eine einfache Lösung.

    Zuerst stellte ich den Titel meiner Alert Box vor

    builder.setTitle("My Title"); 

    Also war ich nicht in der Lage, die Schriftart zu ändern.

    Dann was für mich funktioniert ist ..

    Ich habe eine einfache TextView erstellt:

     TextView tv2; 

    Und legen Sie alle Eigenschaften von TextView, die ich wollte …

    Und dann habe ich meine ersetzt

     builder.setTitle("My Title"); 

    Mit

     builder.setCustomTitle(tv2); 

    Und jetzt kann ich die tv2's ändern, Font indem tv2's Eigenschaften von tv2's .

    Keine Antworten geben eine Möglichkeit, die Titelschrift eines AlertDialog zu ändern. Hier ist was ich getan habe

    Erstellen Sie die folgende Klasse:

     public static class TypefaceSpan extends MetricAffectingSpan { private final Typeface typeface; public TypefaceSpan(Typeface typeface) { this.typeface = typeface; } @Override public void updateDrawState(TextPaint tp) { tp.setTypeface(typeface); tp.setFlags(tp.getFlags() | Paint.SUBPIXEL_TEXT_FLAG); } @Override public void updateMeasureState(TextPaint p) { p.setTypeface(typeface); p.setFlags(p.getFlags() | Paint.SUBPIXEL_TEXT_FLAG); } } 

    Fügen Sie die folgende Dienstprogrammmethode hinzu:

     /** * <p>Return spannable string with applied typeface in certain style</p> * * http://stackoverflow.com/questions/8607707/how-to-set-a-custom-font-in-the-actionbar-title * * @param typeface * The typeface to set to the {@link SpannableString} * @param string * the string to place in the span * @return SpannableString that can be used in TextView.setText() method */ public static SpannableString typeface(Typeface typeface, CharSequence string) { SpannableString s = new SpannableString(string); s.setSpan(new TypefaceSpan(typeface), 0, s.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); return s; } 

    Schließlich legen Sie das Schriftbild beim Erstellen Ihres AlertDialog :

     Typeface typeface = Typeface.createFromAsset(getActivity().getAssets(), "fonts/your_font.ttf"); new AlertDialog.Builder(getActivity()) .setTitle(FontUtils.typeface(typeface, "The title")) /* .. */ .create(); 

    Sie müssen aufblasen oder anpassen und erstellen Sie einen Stil und gelten für AlertDialog

    Heres, wie Sie ein Layout aufblasen und es auf AlertDialog anwenden

     LayoutInflater li = LayoutInflater.from(ctx); View view = li.inflate(R.layout.formatted_dialog, null); AlertDialog.Builder builder = new AlertDialog.Builder(ctx); builder.setTitle("Formatted"); builder.setView(view); 

    Definieren Sie alle Formatierungen und Stile, die in dem von Ihnen angegebenen Layout benötigt werden.

    Sie können auf eine spezifische Textansicht zugreifen, die im Layout mit aufgeblasenen View definiert ist

     LayoutInflater li = LayoutInflater.from(ctx); View view = li.inflate(R.layout.formatted_dialog, null); TextView label=(TextView)view.findViewById(R.id.i_am_from_formatted_layout_lable); 

    Beispiellayout als res / layout / link.xml gespeichert:

    In deinem onCreate() oder wo oder wann immer du AlertDialog anrufen möchtest

     LayoutInflater li = LayoutInflater.from(this); View view = li.inflate(R.layout.link, null); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Formatted"); builder.setView(view).create().show(); TextView text=(TextView) findViewById(R.id.text); 

    Ersetzen Sie this durch Kontextobjekt, wenn Sie von einer anderen Methode anrufen.

    Mag das so:

     Dialog dialog = new Dialog(ActivityName.this); dialog.setContentView(R.layout.dialog_name); dialog.setCancelable(true); dialog.findViewById(R.id.text).setTypeface(Typeface.createFromAsset(getAssets(), "font.ttf")); 

    Habe deine font.ttf-Datei im Assets-Ordner und benutze sie wie oben

    Anstatt den Text des Alertdialogs zu setzen, solltest du eine benutzerdefinierte Ansicht von deinen Layouts festlegen. Und bevor Sie dies tun, ändern Sie die Schrift Ihrer Ansicht. Versuche dieses Beispiel

     TextView content = new TextView(this); content.setText("on another font"); content.setTypeface(Typeface.SANS_SERIF); 

    // Verwenden Sie das erste Beispiel, wenn Sie eine xml generierte Ansicht verwenden

      AlertDialog.Builder myalert = new AlertDialog.Builder(this); myalert.setTitle("Your title"); myalert.setView(content); myalert.setNeutralButton("Close dialog", null); myalert.setCancelable(true); myalert.show(); 

    Code für xml … ersetzen Sie Ihre Schrift in der xml

     <TextView android:id="@+id/yourid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp" android:text="your content" /> 

    Verwenden Sie einfach die folgende Zeile, um eine Kennung zum Dialog des Dialogs zu erhalten:

     int dialogTitle = mCtnx.getResources().getIdentifier( "alertTitle", "id", "android" ); 

    Benutze diese für android.support.v7.app.AlertDialog

    TextView title = (TextView) alertDialog.findViewById (R.id.alertTitle);

    Füge dieses Layout ein:

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello_World" android:textColorLink="#FF00FF" /> </LinearLayout> 

    Dann benutze es in Ur Activity

     Dialog dialog = new Dialog(ActivityName.this); dialog.setContentView(R.layout.dialog_name); dialog.setCancelable(true); dialog.findViewById(R.id.text).setTypeface(Typeface.createFromAsset(getAssets(), "font.ttf")); 

    Ein anderer Weg und das

    Versuchen Sie, das Thema für den Dialog einzustellen. Ändern Sie das Schriftbildattribut wie folgt:

     <style name="CustomDialog" parent="android:Theme.Dialog"> <item name="android:typeface">serif</item> </style> 

    Obwohl dies die Schriftarten aller Textbilder im Dialog ändert. So stellen Sie sicher, dass TextViews auf die richtige Schriftart eingestellt sind

    Sie können das Aussehen von AlertDialog ändern, indem AlertDialog diesem Codeblock folgen:

     AlertDialog dialog = new AlertDialog.Builder(this).setMessage("Message").show(); TextView textView = (TextView) dialog.findViewById(android.R.id.message); textView.setTextSize(10);//to change font size //to change font family Typeface face = Typeface.createFromAsset(getAssets(),"font/fontFileName.ttf"); textView.setTypeface(face); 

    Setzen Sie die Schriftartdatei in den Assetsordner. In meinem Fall habe ich ein Unterverzeichnis namens font erstellt.

    Und Sie können auch auf diese Frage , die eine akzeptierte Antwort haben zu überprüfen.

    Sie können dies hinzufügen

     TextView textViewt = (TextView) alertDialog.findViewById(android.R.id.title); textViewt.setTypeface(your font typeface); 

    Nach der linie

     alertDialog.show(); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.