ActionBar浸漬ステータスバー実装
3373 ワード
準備作業
studioは、浸透型互換ライブラリ
第1クラス、actionbar互換性最初のステップ:activityトピックandroid:theme="@style/actionBarTheme" を設定
@TargetApi(19) private void setTranslucentStatus(boolean on) { Window win = 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); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true); }
SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true);//浸透色を設定するtintManager.setStatusBarTintResource(R.color.statusbar_bg);}```第3歩:windowsに適応するように設定し、レイアウトファイルにandroid:fitsSystemWindows="true"を設定しないと、アプリケーションのuiが上位になり、system ui ok に進みます.
第2類actionbarのactivityがない最初のステップ、トピックの設定、android:theme="@style/FullBleedTheme"
<br> <itemname="colorPrimary">#2196F3</item><br> <itemname="colorPrimaryDark">#2196F3</item><br> <br> <itemname="colorAccent">#E91E63</item><br> ```第2ステップ:前の第2ステップと同じ.ステータスバーの透明+色 を設定します.
android:fitsSystemWindows=”true” android:clipToPadding=”false”```
studioは、浸透型互換ライブラリ
compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
eclipseを導入し、対応するクラスを導入することができる.第1クラス、actionbar互換性
```
* : ,
@TargetApi(19) private void setTranslucentStatus(boolean on) { Window win = 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); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { setTranslucentStatus(true); }
SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true);//浸透色を設定するtintManager.setStatusBarTintResource(R.color.statusbar_bg);}```
第2類actionbarのactivityがない
```
toolbar Theme.AppCompat.NoActionBar
<br> <itemname="colorPrimary">#2196F3</item><br> <itemname="colorPrimaryDark">#2196F3</item><br> <br> <itemname="colorAccent">#E91E63</item><br> ```
mTintManager = new SystemBarTintManager(this);
mTintManager.setStatusBarTintEnabled(true);
mTintManager.setNavigationBarTintEnabled(true); mTintManager.setStatusBarTintResource(R.color.statusbar_bg);```
* :
android:fitsSystemWindows=”true” android:clipToPadding=”false”```
- true
- false
```
###
* android:fitsSystemWindows
> , , 。
> , true: , , 。 , , , 。
> , ,AlertDialog ,ProgressDialog 。
> 。 , 。
> theme 。 layout 。
* Android Toast ,
> , theme , , , , 。 ,```Toast.makeText(getActivity(), “ ”,Toast.LENGTH_SHORT).show();``` ```Toast.makeText(App.getInstance(), “ ”,Toast.LENGTH_SHORT).show();``` 。
> , 。
> , Toast , ApplicationContext 。
Copyright (c) 2016 Copyright Holder All Rights Reserved.