Android StatusBar 투명 화 방법(버 전 별로 적합)

2833 단어 AndroidStatusBar
투명 상태 표시 줄(StatusBar)의 모든 어댑터
상태 표시 줄 은 안 드 로 이 드 핸드폰 상단 에 핸드폰 상태 정 보 를 표시 하 는 위 치 를 지정 합 니 다.
투명 상태 표시 줄 은 안 드 로 이 드 가 4.4 부터 새로 추가 한 기능 입 니 다.그 는 상태 표시 줄 이 우리 가 원 하 는 색상 에 따라 정의 하여 titleBar 가 상태 표시 줄 과 하나 가 되 어 몰입 감 을 높 일 수 있 습 니 다.
우 리 는 서로 다른 버 전에 대해 Status Bar 에 적합 해 야 한다.다음은 우리 하나씩 보 자.
values/styles.xml

<resources> 
  <style name="Theme.AppTheme.TranslucentStatusBar" parent="Theme.AppCompat.Light.NoActionBar" /> 
</resources> 
values-v19/styles.xml

<resources> 
  <style name="Theme.AppTheme.TranslucentStatusBar" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:windowTranslucentStatus">true</item> 
  </style> 
</resources> 
values-21/styles.xml

<resources> 
  <style name="Theme.AppTheme.TranslucentStatusBar" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
  </style> 
</resources> 
values-23/styles.xml

<resources> 
  <style name="Theme.AppTheme.TranslucentStatusBar" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
    <item name="android:windowLightStatusBar">true</item> 
  </style> 
</resources> 
구체 적 으로 사용 하 다

public class ImagePreActivity extends AppCompatActivity { 
 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);  
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
      findViewById(android.R.id.content).setSystemUiVisibility( 
          View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); 
    } 
    setContentView(R.layout.activity_image_pre_layout); 
  } 
} 

<activity 
  android:name=".ImagePreActivity" 
  android:theme="@style/Theme.AppTheme.TranslucentStatusBar" /> 
효과 보이 기
4.3 이하

4.4

5.0

6.0

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기