我讀過一些與此主題相關的問題,並嘗試了一些代碼示例。我最小API級別11.有些方法是讓基於佈局源代碼,其ID: dialog layout另一個DialogFragment標題顏色問題
我想獲得我的DialogFragment使用簡單的代碼TextView的:
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");
}
這是我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>
我的AndroidManifest.xml
頁<application
...
android:theme="@style/AppTheme">
...
這些被訪問過的鏈接:
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
即使這些方法我還沒有成功地改變標題顏色。我希望'將最小API保留爲11.是否與此min API有關?
我一直在處理類似的東西,我覺得這個標題是快速對話建立。對於任何自定義的對話框體實現。您可以定義對話框主體的佈局(將標題放在裏面),並從對話框構建器中刪除setTitle()。這個標題只是帶有填充和不同大小的TextView,所以很容易複製它。 – Gudin
感謝您的回覆。我跟着它解決了這個問題。我現在要回答。 – learner