2012-10-24 7 views
4

나는이 funny title bar coloring을 원했고,하지만android의 제목/작업 표시 줄 ID?

getWindow().findViewById(android.R.id.title); 

반환 널 (null)로 나를 위해 작동하지 않습니다. 그래서 계층 구조 뷰어 (Hierarchy Viewer)에서이 뷰를보고, 뷰가 id/action_bar이라고 대신 알았습니다. 하지만 R.id.action_bar은 없습니다 (자동 완성 기능은 제공하지 않으므로 R.java과 같은 것은 없습니다).

그래서 지금은 이중으로 혼란 스러워요 :

  • (나는 내 ​​에뮬레이터에서 버전 16을 사용하고 있습니다) 폐지의 종류 android.R.id.title인가?
  • id/action_bar은 어디에서 왔습니까?
  • 추천 및 간단한 연습 w.r.t. 적합성?

ActionBarSherlock을 받아야합니까? 원래 제목 표시 줄의 색을 바 꾸었 으면 좋겠어.

답변

1

API 레벨 14/Android 4.0 이전의 Android 버전과의 호환성을 원하는 경우 ActionBarSherlock을 사용하는 것이 좋습니다.

ActionBar의 배경을 변경하는 것은 간단하며 스타일을 통해 가장 쉽게 수행 할 수 있습니다. http://android-developers.blogspot.com/2011/04/customizing-action-bar.html

의 "배경"섹션을 참조하십시오. 또한 코드를 통해 변경할 수 있습니다. 여기

GradientDrawable gradientDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[] {Color.RED, Color.GREEN}); 
getActionBar().setBackgroundDrawable(gradientDrawable); 

행동이 코드의 스크린 샷이다 : 당신의 onCreate()에 넣고 louielouie 말했듯이

enter image description here

+0

, 당신은 XML 또는 Java 중 하나에 그것을 할 수 있지만, XML이 바람직하다 Android는 활동이 계속로드 될 때 Android 스타일을 적용하므로 맞춤 스타일이 지연되지 않으므로 스타일이 이와 같습니다. –