0

xml이 아닌 코드에서 분할 작업 표시 줄의 색상을 변경하려면 어떻게해야합니까? 내 사용자는 작업 표시 줄의 색상을 선택할 수 있습니다. 따라서 화면 맨 아래에 나타나는 작업 표시 줄의 색상을 변경할 수도 있습니다.분할 된 작업 표시 줄의 색상을 프로그래밍 방식으로 변경할 수 있습니까?

나는 안드로이드 매니페스트

지금까지 나는이 노력하고있어에서 android:uiOptions="splitActionBarWhenNarrow"를 사용하여 splitActionBar을 구현하고있어,하지만

final int splitBarId = getResources().getIdentifier("split_action_bar", "id", "android"); 

    final View splitActionBar = findViewById(splitBarId); 

    if (splitActionBar != null) { 

      splitActionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor(actionbar_colors))); 

    } 

     } 

답변

0

을 작동하지 않습니다이 아무튼

ActionBar mActionBar = getActionBar(); 
mActionBar.setBackgroundDrawable(new ColorDrawable(0xff00DDED)); 
mActionBar.setDisplayShowTitleEnabled(false); 
mActionBar.setDisplayShowTitleEnabled(true); 
+0

불행히도 작동하지 않았고 아무 것도 변경되지 않았습니다. –

1

프레임 워크를 작동합니다 프로그래밍 방식으로 변경하는 방법을 제공하지 않습니다. 그러나 Resources.getIdentifier을 사용하여 View을 찾고 백그라운드에서 Drawable을 조정할 수 있습니다.

The internal id is split_action_bar.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 
    final int splitBarId = getResources().getIdentifier("split_action_bar", "id", "android"); 
    final View splitActionBar = findViewById(splitBarId); 
    if (splitActionBar != null) { 
     // Adjust the background drawable 
    } 
} 

업데이트

은 분명 ActionBar.setSplitBackgroundDrawable있다. 확실히 Resources.getIdentifier보다는 그 콜백을 사용하십시오.

Example

+0

불행히도 이것은 어떤 것도 변경되지 않습니다 –

+2

@ I'm_With_Stupid 확실히 작동합니다. 스크린 샷을 추가했습니다. 분명히 어딘가에 연결이 끊어 지므로 OP를 업데이트하고 분할 된 ActionBar 등을 어떻게 추가하는지에 대한 정보를 제공해야합니다. – adneal

+0

@ I'm_With_Stupid 호환성 라이브러리를 사용하고 있습니까? 어떤 Android 버전을 테스트 중입니까? – adneal