2017-04-03 11 views
0

을 변경하지 않습니다상태 표시 텍스트 색상은이 코드와 상태 표시 줄의 배경 색상을 변경하고

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
      Window window = getWindow(); 
      window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
      window.setStatusBarColor(getColorByResourceId(this, android.R.color.white)); 
     } 
    } 

    @ColorInt 
    public int getColorByResourceId(@NonNull Context context, @ColorRes int resourceId) { 
     return ResourcesCompat.getColor(context.getResources(), resourceId, null); 
    } 

} 

배경이 잘 변경하지만, 텍스트 색상이 변경되지 않습니다 (그것은 흰색도) :

status bar

저는 Theme.AppCompat.Light.NoActionBar를 사용하고 있습니다. 상태 표시 줄 텍스트를 어둡게 만드는 방법은 무엇입니까?

답변

1

특정 textColorstatusBar으로 설정할 수 없습니다. 하지만 당신은 API에 대한 statusBar 배경에 표시 할 수> =

당신의 상태 표시가 화이트, 당신은 당신의 기본 응용 프로그램 테마 또는 사용자 정의 상태 표시 테마에 아래 속성을 추가 할 수 있습니다이므로 23 :

<item name="android:windowLightStatusBar">true</item> 

흰색 배경에 텍스트가 약간 회색으로 표시됩니다.

+0

그러나 아시다시피 상태 표시 줄의 텍스트 색은 배경색과 관련하여 자동으로 변경됩니다. 내 경우 엔 그런 일이 일어나지 않아. 그것은 약간의 시스템 버그처럼 보입니다. – BArtWell

+0

예, colorPrimaryDark에서 변경해야합니다. 불행히도 그것은 나를 위해 작동하지 않았다. – tahsinRupam