2016-08-29 3 views
0

이 주제와 관련된 몇 가지 질문을 읽고 몇 가지 코드 예제를 시도했습니다.다른 DialogFragment 제목 색상 문제

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"); 
    } 

이는 다음과 같습니다 dialog layout

내 DialogFragment에서 간단한 코드를 사용하여 텍스트 뷰를 얻기 위해 노력 : 내 분 API 레벨은 11. 어떤 방법이 자신의 ID가 레이아웃 소스 코드를 기반으로 얻을했다입니다 내 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

. 그리고 'min API를 11로 유지하고 싶습니다.이 API가 min API와 관련이 있습니까?

+0

나는 비슷한 다루고 있었고, 나는이 제목이 빠른 대화 상자 설정에 생각합니다. 사용자 정의 대화 상자 바디 구현. 대화 상자 본문 (제목 넣기)의 레이아웃을 정의하고 대화 작성기에서 setTitle()을 제거 할 수 있습니다. 이 제목은 패딩 및 크기가 다른 TextView 일 뿐이므로 복제하기가 쉽습니다. – Gudin

+0

답장을 보내 주셔서 감사합니다. 나는 그것을 따라 가서 문제를 해결했다. 나는 지금 대답을 할 것이다. – learner

답변

1

는 @Gudin의 조언에 따라 내가 검색 한 제목 레이아웃 소스 발견 : 내가보기를 찾기 위해 소스 코드를 appliced하고 작동

DialogFragment title layout

합니다.

변경이 줄이로 getResources().getIdentifier("android:id/alertTitle", null, null);

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