0

조각에 상태 표시 줄을 숨기려고합니다. 숨기기 도구 모음 제대로 작동 내가 성공적으로 도구 모음을 숨긴하지만 난 단 하나 개의 단편도 상태 표시 줄을 숨기려면 .. 코드 위단편의 상태 표시 줄 숨기기

@Override 
    public void onCreate(Bundle arg0) { 
     super.onCreate(arg0); 

    // requestWindowFeature(Window.FEATURE_NO_TITLE); 

     ((HomeActivity)getActivity()).getSupportActionBar().hide(); 
    } 

requestWindowFeature(Window.FEATURE_NO_TITLE); 

나는 조각 onCreate (에 requestWindowFeature 언급 한 경우 위의) 응용 프로그램이 손상되었습니다.

두 번째 대답을 구현 후 3 개 사진을를 CH3OH

[일반 화면] [1] [코드를 사용하여 제품을 작동 한 후] [2] 은 [시 다시 전체 화면에서왔다] [3]

[1]: https://i.stack.imgur.com/KbX4T.jpg 
    [2]: https://i.stack.imgur.com/sSWqf.jpg 
    [3]: https://i.stack.imgur.com/urJaK.jpg 

답변

0

@Lalit Singh Fauzdar 답변으로 statusBar가 정확합니다. statusbar를 사용하고 싶다면 View decorView = getActivity().getWindow().getDecorView(); // Hide the status bar. int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE; decorView.setSystemUiVisibility(uiOptions);

+0

대답 해 주셔서 감사합니다 ..... 나를 도왔습니다. –

1

그냥하지만 ​​내 프로젝트에서 복사 - 붙여 넣기하지만 당신은 조각의 상태 표시 줄을 숨길 수있는이 방법.

private int currentApiVersion;  
    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     getActivity().getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE | 
       View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); 
     currentApiVersion = android.os.Build.VERSION.SDK_INT; 
     final int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
       | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_FULLSCREEN  
       | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; 
     if(currentApiVersion >= Build.VERSION_CODES.KITKAT) { 
      getActivity().getWindow().getDecorView().setSystemUiVisibility(flags); 
      final View decorView = getActivity().getWindow().getDecorView(); 
      decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { 
       @Override 
       public void onSystemUiVisibilityChange(int visibility) { 
        if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { 
         decorView.setSystemUiVisibility(flags); 
        } 
       } 
      }); 
     } 
     return inflater.inflate(R.layout.yourLayout, container, false); 
    } 

이 코드는 Fragment 클래스에 복사되며 어떤 방법으로도 복사되지 않습니다.

그리고 그래, 당신은 단지 아래의 코드를 사용할 수도 :이 코드가 더 도움이 당신을 희망

getActivity().getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE | 
       View.SYSTEM_UI_FLAG_FULLSCREEN); 
+0

감사합니다! 당신의 코드는 MarshMallow에서 작동합니다 ... 더 낮은 버전과 높은 버전에 대한 저의 우려로 ... 15 api에서 27 api로 작동합니까? –

+0

및 statusBar를 다시 표시하는 방법은 무엇입니까? 나는 다른 조각을위한 agian을 보여줄 수 없다. 내가 편집 한 사진 3 장보기 –

0

을 .. 활동에서

...

public class MainActivity extends AppCompatActivity{ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // YOUR FRAGMENT 
    FragmentManager fragmentManager = getSupportFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    fragmentTransaction.replace(R.id.fragment_container, fragment,fragment.toString()); 
    fragmentTransaction.commit(); 

    } 
public void HideStatusBar() { 
    this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    } 
public void ShowStatusBar() { 
    this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    } 
} 

조각으로부터 ..

public class FragmentOne extends Fragment{ 

private Activity mActivity; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 


((MainActivity) getActivity()).HideStatusBar(); 
    } 
@Override 
public void onAttach(Activity activity) { 
    super.onAttach(activity); 
    this.mActivity = activity; 

} 
@Override 
public void onDetach() { 
    super.onDetach(); 
    this.mActivity = null; 
} 
@Override 
public void onDestroyView() { 
    super.onDestroyView(); 
    if (mActivity!=null){ 
     ((MainActivity) getActivity()).ShowStatusBar(); 
    } 
} 
} 
+0

HideStatusBar() 조각 onCreate에서이 메서드를 호출해야합니까? –

+0

내 업데이트 코드를주십시오. 나는 그것이 도움이된다고 생각합니다 .. –

+0

당신이 내 대답이 도움이되었다고 생각한다면 그것을 받아들이십시오. 고맙습니다 ! –