相关疑难解决方法(0)

使用AppCompat ActionBarActivity更改状态栏颜色

我在一个活动我使用工具栏更改颜色Palette,但使用5.0的设备ActionBarActivitystatus bar颜色是我的颜色colorPrimaryDark我的活动主题,所以我有2个非常不同的颜色和它看起来并不好.

我意识到在5.0你可以使用,Window.setStatusBarColor()ActionBarActivity没有这个.

所以我的问题是在5.0中如何更改状态栏颜色ActionBarActivity

android android-5.0-lollipop android-toolbar

140
推荐指数
4
解决办法
13万
查看次数

Android材质:状态栏颜色不会改变

我正在开发一个简单的应用来测试材料设计.我正在使用com.android.support:appcompat-v7:21.0.0,我的活动看起来像:

public class MyActivity extends ActionBarActivity {
   ...
}
Run Code Online (Sandbox Code Playgroud)

布局定义为:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MyActivity">

    <android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="128dp"
        android:minHeight="?attr/actionBarSize"
        android:background="?attr/colorPrimaryDark"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

现在我按照材料指南定义了我的主题:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary500</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark700</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我想在Android 5之前更改状态栏颜色并将其设置为colorPrimaryDark但我无法找到方法.我试过用:

getWindow().setStatusBarColor(..)
Run Code Online (Sandbox Code Playgroud)

但是,从第21级开始可以使用setStatusBar颜色.为什么如果我colorPrimaryDark在我的主题中定义并使用appcompact,状态栏不会改变颜色?有人可以帮忙吗?

android statusbar material-design

54
推荐指数
6
解决办法
9万
查看次数