@作者 : 西野奈留
@博客:http://blog.youkuaiyun.com/narunishino
-2017/02/24-
在android 4.4的系统中改变状态栏的颜色。
1.gradle中添加依赖 compile 'com.android.support:appcompat-v7:25.2.0'
2.在AppTheme中进行如下设置:
styles.xml
<resources>
<!-- 设置为AppCompat的NoActionBar -->
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- 添加android:windowTranslucentStatus属性和android:fitsSystemWindows属性 -->
<item name="android:windowTranslucentStatus">true</item>
<item name="android:fitsSystemWindows">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>
</resources>
3.修改activity_main.xml为:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
// 1.这里的颜色就是你想要的状态栏的颜色
android:background="@color/colorPrimary"
android:orientation="vertical"
tools:context="com.nishinonaru.testdownloadprovider.MainActivity">
// 2.要添加Toolbar
<android.support.v7.widget.Toolbar
// toolbar的id,一会要用到
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
android:title="@string/app_name">
</android.support.v7.widget.Toolbar>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
// 3.这里的颜色是主界面的背景色,如果不设置的话,会显示更上面状态栏一样的颜色
android:background="#ffffff">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textColor="#000000"/>
</RelativeLayout>
</LinearLayout>
4.在MainActivity中添加toolbar:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar tb = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(tb);
}
}
5.完成。