2016-08-29 3 views
0

Ich habe einige Fragen zu diesem Thema gelesen und einige Codebeispiele versucht. Meine min API-Ebene ist 11. Einige Ansätze ihre ID auf der Layout-Quellcode zu erhalten waren zu Grunde: dialog layoutEine andere DialogFragment Titelfarbe Problem

Ich habe versucht, das Textview mit einfachen Code in meinem DialogFragment zu erhalten:

int titleTextId = getResources().getIdentifier("android:id/alertTitle", null, null); 
    TextView titleText = (TextView)getDialog().findViewById(titleTextId); 
    titleText.setTextColor(ContextCompat.getColor(getActivity(), R.color.darkerOrange)); 
    if(titleText != null){ 
     Log.d("DEBUG", "FOUNDED"); 
    } 

Dies ist Datei mein styles.xml:

<resources> 
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="actionBarStyle">@style/MyActionBar</item> 
    <item name="android:alertDialogTheme">@style/DialogTitleText</item> 
</style> 

<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar.Solid"> 
    <item name="titleTextStyle">@style/TitleBarTextColor</item> 
    <item name="background">@color/white</item> 
</style> 

<style name="TitleBarTextColor" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/darkerOrange</item> 
</style> 

<style name="DialogTitleText" parent="@style/Theme.AppCompat.Light.Dialog"> 
    <item name="android:windowTitleStyle">@style/DialogTitleStyle</item> 
</style> 

<style name="DialogTitleStyle" parent="@style/DialogTitleText"> 
    <item name="android:textColorPrimary">@color/darkOrange</item> 
</style> 

<style name="SplashScreen" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:windowBackground">@drawable/splash_screen</item> 
</style> 

<style name="TabLayoutTextSize" parent="TextAppearance.Design.Tab"> 
    <item name="android:textSize">20dp</item> 
</style> 

Mein AndroidManifest.xml

<application 
    ... 
    android:theme="@style/AppTheme"> 
    ... 

Diese werden besuchte Links:

How to style AlertDialogs like a pro

Android - DialogFragment change title text color

Styling custom dialog fragment not working

Android change toolbar title color to white

Auch bei diesen Ansätzen habe ich nicht erfolgreich Titelfarbe geändert. Und ich möchte 'min API auf 11 beibehalten. Bezieht sich dies auf diese minimale API?

+0

Ich habe mit etwas Ähnliches zu tun, und ich denke, dieser Titel für den schnellen Dialog-Setup ist. Für alles benutzerdefinierte gehen Sie mit Dialogkörperimplementierung. Sie können das Layout für den Dialogkörper definieren (den Titel darin einfügen) und setTitle() aus dem Dialog Builder entfernen. Dieser Titel ist nur TextView mit Auffüllung und unterschiedlicher Größe, so dass es leicht zu replizieren ist. – Gudin

+0

Danke für Ihre Antwort. Ich folgte ihm und löste das Problem. Ich werde die Antwort jetzt setzen. – learner

Antwort

1

Auf Anraten @Gudin ich gesucht und die Titellayout Quelle gefunden:

DialogFragment title layout

I anzuwenderen den Quellcode um die Ansicht zu finden und es funktioniert.

Ändern Sie diese Zeile: getResources().getIdentifier("android:id/alertTitle", null, null);

Um dies: getResources().getIdentifier("title", "id", "android");

Verwandte Themen