2014-09-27 5 views
4

나는 조각에 있는데 사용자가 단추를 클릭 할 때 작업 표시 줄 색을 변경하고 배경색을보고 싶습니다. 현재 아래에있는 코드는 사용자가 어떤 색상을 선택하든 회색으로 변합니다.AppCompat 작업 표시 줄의 배경색 변경

private void changeColor(int colorId) { 
    ActionBar actionBar = ((ActionBarActivity)getActivity()).getSupportActionBar(); 
    actionBar.setBackgroundDrawable(new ColorDrawable(colorId)); 
    this.getView().setBackgroundColor(getResources().getColor(colorId)); 
} 

내 styles.xml에 파란색으로 표시되는 작업 표시 줄이 있습니다. 어떤 효과가 있는지 확실하지 않습니다. 제안이 있으면 알려주세요.

감사합니다, 나단

솔루션 :

actionBar.setBackgroundDrawable(new ColorDrawable(colorId)); 

에 : 난 당신의 색상 기반을 변경할 것을 제대로 질문을 이해한다면

actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(colorId))); 
+0

사용하여 메신저 당신이 styles.xml에서 청색을 제거하는 경우 :

public void setActionBarColor(int parsedColor){ ActionBar mActionBar = getSupportActionBar(); mActionBar.setBackgroundDrawable(new ColorDrawable(parsedColor)); mActionBar.setDisplayShowTitleEnabled(false); mActionBar.setDisplayShowTitleEnabled(true); } 

조각이를 사용하여

// check if instance of activity is MyActivity just an example MyActivity mA = ((MyActivity)getActivity()); mA.setActionBarColor(Color.parseColor("#FFA2C13E")); 

은 도움이 :)

PS 희망? – joao2fast4u

+1

동일한 문제, 나는 또한 내가 listview 행 중 하나에서 선형 레이아웃의 배경색을 설정하려고 할 때 동일한 회색 색상을 얻게된다는 것을 알아 차리고 있습니다. holder.titleLayout.setBackgroundColor (item.getColorCode()); – Nath5

+0

@ Nath5, 의견에 답하는 것을 삼가하십시오. – Confuse

답변

8

은 변경했다 사용자 개입, 대신이 시도하십시오. ActionBarActivity