2017-11-16 5 views
2

활동의 두 조각이 있습니다. 첫 번째 조각이 보이면 상태 표시 줄이 반투명하게됩니다 (여기에는 툴바 없음). 그것은 예상대로 작동합니다.상태 표시 줄을 프로그램 적으로 불투명하게 만들기

하지만 두 번째 조각으로 전환 할 때 상태 표시 줄을 불투명하게하고 싶습니다. 그리고 툴바는 상태 표시 줄 아래에 그려야합니다. 이 변경 내용을 프로그래밍 방식으로 수행하려면 Activity XML에서 수행 할 수 없기를 바랍니다.

지금까지 다음 코드를 시도했습니다. 그러나 이것은 효과가 없습니다.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
    { 
     Window window = getActivity().getWindow(); 
     view.setFitsSystemWindows(true); 
     window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_LAYOUT_FLAGS); 
     window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
     window.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
     window.addFlags(WindowManager.LayoutParams.TYPE_STATUS_BAR); 
     window.setStatusBarColor(ContextCompat.getColor(getContext(), R.color.colorPrimaryDark)); 
    } 

내가지고있어 화면입니다 :

incorrect_behaviour

하지만 상태 표시 줄 아래에 표시하는 primaryDark 색상 및 도구 모음을 갖고 싶어. 내가 제대로 알고있는 것처럼

의 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="in.blogspot.smarphy.pierecipe"> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true"> 
     <activity 
      android:name=".SplashActivity" 
      android:theme="@style/AppTheme"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name=".HomeyActivity" 
      android:label="@string/title_activity_homey" 
      android:theme="@style/AppTheme"> 
      <intent-filter> 
       <action android:name="android.intent.action.SEARCH" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name=".RecipesCardsActivity" 
      android:label="@string/title_activity_recipes_cards" 
      android:parentActivityName=".HomeyActivity" 
      android:theme="@style/AppTheme.OpaqueStatus" /> 

     <service android:name=".Services.HomeCardsNetworkService" /> 
     <service android:name=".Services.SearchCardsNetworkService" /> 

    </application> 

</manifest> 

답변

0

.

당신은 당신이 사용할 수있는 단편 2 년이

android:theme="@style/FullscreenTheme" 

를 사용하지 않을 경우 당신은 아마 당신의 활동이이 2

에 조각 1에서 전환 할 때 정상으로 전체 화면으로 전환하려면

비 - 전체 화면 모드를 설정합니다. 이 아닌 전체 화면을 추가 할 때 전체 화면 플래그를 지워야합니다

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
     .... 
    } 
    @Override 
    public void onDestroyView() { 
     getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
     .... 
    } 

@Nullable.

정보 : 반투명 상태 표시 줄 API 레벨 19에 도입 된 .

+0

작동하지 않습니다. – Anand

+0

@Anand 활동에 대한 매니페스트의 코드로 질문을 업데이트 할 수 있습니까? –

+0

편집 됨, – Anand

관련 문제