2012-06-29 3 views
7

모든 솔루션 나는 (즉 하나 activity.setTitle()activity.setProgress()를 통해 액세스) 위임 FEATURE_CUSTOM_TITLE활동의 제목 표시 줄의 색상을 변경하기위한 지금까지 발견 :FEATURE_CUSTOM_TITLE없이 활동의 ​​제목 표시 줄을 변경할 수 있습니까?

https://stackoverflow.com/a/2285722/869501

그러나 나는 이미 FEATURE_PROGRESS을 사용하고 있습니다 Android는 사용자 정의 타이틀을 다른 타이틀 기능과 결합하는 것을 금지하고 (AndroidRuntimeException을 통해) 내 활동의 필수적인 부분 인 멋진 진행 표시 줄을 포기하고 싶지 않습니다.

View titleView = getWindow().findViewById(android.R.id.titlebar); 
    if (titleView != null) { 
     ViewParent parent = titleView.getParent(); 
     if (parent != null && (parent instanceof View)) { 
     View parentView = (View)parent; 
     parentView.setBackgroundColor(Color.RED); 
     } 
    } 

하지만 그대로 코드를 사용하려고하면, android.R.id.titlebar 확인할 수 없습니다 :

FEATURE_CUSTOM_TITLE없이 활동의 ​​제목 표시 줄의 색상을 변경의 가능성에 대한 유일한 힌트는 another SO thread에 있었다!

여기서 android.R.id.titlebar은 어디에서 찾을 수 있습니까?

직접 정의해야합니까? (대답이 '예'인 경우 본질적으로 FEATURE_CUSTOM_TITLE이 아닙니까?)

답변

2

짧은 답변 (더 좋은 대답이 올 때까지) : 아니요.

0

흠, 그 시작 부분에 "android"가 붙어 있지 않으면 FEATURE_CUSTOM_TITLE이 아닙니다. , 아니야 시스템 제목 표시 줄입니다. 거기에 "안드로이드"와 함께, 나는 정말로 모른다.

이것은 전에 수행 한 것처럼 보이며, 매니 페스트에서 android:theme="@android:style/Theme.NoTitleBar"으로 실행 중입니다. 그런 다음 각 레이아웃의 맨 위에보기와 같은 제목 표시 줄을 만듭니다.