Android 實現沉浸式狀態列效果(systembartint庫)
本人最近做一個專案需要做到一個沉浸式狀態列效果找了很多資料,最後如願以償.
先附上效果圖:
1.設定app全屏:
方法:在AndroidManifest.xml中設定
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Light.NoTitleBar" >
</application>
2.在app中的build.gradle中引入systembartint庫(如果是eclipse開發的可以去網上下載庫)
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
}
3.因為我們專案中很多地方都用到這個沉浸式狀態列,所以我們可以先寫一個基類BaseActivity,然後其它Activity都繼承它就ok了!
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import com.readystatesoftware.systembartint.SystemBarTintManager;
/**
* Created by shaolin on 6/22/16.
*/
public class BaseActivity extends Activity {
private SystemBarTintManager mTintManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initSystemBar(this);
}
public void initSystemBar(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
setTranslucentStatus(activity, true);
}
mTintManager = new SystemBarTintManager(activity);
mTintManager.setStatusBarTintEnabled(true);// 使用顏色資源
mTintManager.setStatusBarTintResource(R.color.theme_color);//設定狀態列的顏色
SystemBarTintManager.SystemBarConfig config = mTintManager.getConfig();
this.getWindow().getDecorView().findViewById(android.R.id.content).
setPadding(0, config.getPixelInsetTop(false),
config.getPixelInsetRight(), config.getPixelInsetBottom());
}
//透明狀態列
@TargetApi(19)
private static void setTranslucentStatus(Activity activity, boolean on) {
Window win = activity.getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
if (on) {
winParams.flags |= bits;
} else {
winParams.flags &= ~bits;
}
win.setAttributes(winParams);
}
}
相關文章
- Android 沉浸式狀態列的實現Android
- Android-沉浸式狀態列的實現Android
- Android 沉浸式狀態列 漸變顏色的實現Android
- 沉浸式狀態列
- Android 商品詳情頁懸浮效果以及沉浸式狀態列,無衝突Android
- MUI——設定沉浸式狀態列UI
- Android沉浸式狀態列還能這樣玩—教你玩出新花樣Android
- 一行程式碼使Android狀態列變沉浸式透明化行程Android
- Android Studio 沉浸式狀態列(個人手記)—錯誤資訊請批評Android
- Android 狀態列透明Android
- flutter全屏沉浸式狀態列+標題欄|flutter凸起Tabbar導航FluttertabBar
- android 自定義狀態列和導航欄分析與實現Android
- Android如何實現超級棒的沉浸式體驗Android
- Android獲取狀態列高度Android
- react-native android狀態列ReactAndroid
- Android全屏與透明狀態列Android
- Android 隱藏系統狀態列Android
- 瞭解VR虛擬現實的沉浸式效果及其技術特點!VR
- android判斷狀態列是否可見Android
- Android使用(TabLayout+ViewPager+fragment)與(FragmentTabHost+ViewPager+Fragment)實現底部狀態列切換AndroidTabLayoutViewpagerFragment
- React Native Modal元件 Android覆蓋狀態列React Native元件Android
- 使用列舉實現狀態機來優雅你的狀態變更邏輯
- 狀態列
- 【Android】狀態列通知Notification、NotificationManager詳解(轉載)Android
- 關於 Android 狀態列的適配總結Android
- 小tip-一種圖片載入狀態效果的實現
- C++容器巢狀實現動態二維陣列C++巢狀陣列
- Android實現蛛網背景效果Android
- Android 沉浸式解析和輪子使用Android
- Android 完美實現手機號344格式化效果Android
- Android 顯示、隱藏狀態列和導航欄Android
- 巢狀滾動效果實現討論巢狀
- 毛玻璃效果在Android的實現Android
- Dapr實現分散式有狀態服務的細節分散式
- android短視訊開發,自定義更改平臺主題以及狀態列樣式Android
- 狀態模式(c++實現)模式C++
- vue的狀態管理實現Vue
- 語法糖甜不甜?巧用列舉實現“狀態”轉換限制
- 狀態列相關