2011-10-06 5 views
0

아래에 게시 된 코드를 사용하여 Android 버전에서 지원하는 경우 제목 표시 줄을 변경합니다. 그러나 Activity가 실제로로드 된 후에는 제목 표시 줄의 색을 변경할 수없는 것 같습니다.활동이로드 된 후 Android 제목 표시 줄 색을 변경 하시겠습니까?

는 다음의 예를 참조하십시오

activity.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.page_title); 
LinearLayout ll = ((LinearLayout)activity.getWindow().findViewById(R.id.page_title_bg)); 
ll.setBackgroundResource(R.drawable.page_title_bg_app_online); 

레이아웃 매우 단순한 만 배경 레이아웃 및 응용 프로그램의 제목을 보여줄 수있는 텍스트 뷰를 포함.

setBackbroundResrouce를 사용하여 백그라운드 리소스를 설정하려고했지만 변경된 제목이 표시되지 않습니다. 변경을 한 후에도 레이아웃을 무효화하려고했습니다.

답변

1

그냥 생각 : 레이아웃이 아닌 텍스트보기의 배경을 설정하려고 했습니까?

이상한 ... 그냥 시도하고 나를 위해 잘 작동 :

boolean isTitleCustomizible; 
    try { 
     isTitleCustomizible = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
    } catch (Exception e) { 
     isTitleCustomizible = false; 
    } 

    super.setContentView(resId); 

    if (isTitleCustomizible) { 
     getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, 
       R.layout.title_bar); 

     View root = getWindow().findViewById(R.id.toolBarRoot); 
     if (root != null) { 
      root.setBackgroundResource(android.R.drawable.editbox_background_normal); 
     } 
    } 

의 onclick의 코드 :

 private boolean toggle; 

     @Override 
     public void onClick(View v) { 
      View root = findViewById(R.id.toolBarRoot); 
      if (root != null) { 
       if (toggle) 
        root.setBackgroundResource(0); 
       else 
        root.setBackgroundResource(android.R.drawable.editbox_background_normal); 
       toggle = !toggle; 
      } 
     } 
+0

아니하지만 난 그게 도움이 될 믿지 않는다 ... 텍스트 뷰의 layout_width가 wrap_content로 설정되었습니다. –

+0

왜 안 되니? 더 나은 확인하고 그냥 믿는 것보다 확실한 :) – slkorolev

+0

고마워, 난 그냥 시도하고 도움이되지 않았다. –

관련 문제