我在一个活动我使用工具栏更改颜色Palette,但使用5.0的设备ActionBarActivity的status bar颜色是我的颜色colorPrimaryDark我的活动主题,所以我有2个非常不同的颜色和它看起来并不好.
我意识到在5.0你可以使用,Window.setStatusBarColor()但ActionBarActivity没有这个.
所以我的问题是在5.0中如何更改状态栏颜色ActionBarActivity?
在新的棒棒糖更新中,我注意到,使用原生Google应用,状态栏的颜色会更改,以匹配您正在运行的应用上的操作栏.我看到它也在Twitter应用程序上,所以我猜测它不仅仅是Google可以做到的.
如果有可能,有谁知道如何做到这一点?
我想更改我的应用程序的状态栏的颜色,使其为黑色图标的白色(而不是带有白色图标的默认黑色).有没有办法做到这一点?
我正在开发一个简单的应用来测试材料设计.我正在使用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 v21中设置状态栏文本颜色,但我没有看到它的API方法.这是我到目前为止的背景
MyActivity.java> onCreate:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getResources().getColor(R.color.white));
}
Run Code Online (Sandbox Code Playgroud)
显然白色背景上的白色文字将无法正常工作.我正在寻找类似的东西
window.setStatusBarTextColor(getResources().getColor(R.color.orange));
Run Code Online (Sandbox Code Playgroud) 如何在AppBar不存在时设置状态栏颜色.
我试过这个但没有用.
Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark);
return new Scaffold(
body: new Container(
color: UniQueryColors.colorBackground,
child: new ListView.builder(
itemCount: 7,
itemBuilder: (BuildContext context, int index){
if (index == 0){
return addTopInfoSection();
}
},
),
),
);
}
Run Code Online (Sandbox Code Playgroud)
输出看起来像这样:
我想通过编写应用程序来更改状态栏的背景颜色.我的Android设备有黑色,我想将其改为其他颜色.我在这里看到了一些与之相关的帖子,但是他们正在讲述通知背景.
如果有人知道这个,请帮助我.
默认状态栏

使用drawable作为状态栏的背景

我想将状态栏背景设置为渐变主题,状态栏和动作栏颜色应该是相同的渐变可绘制,根据文档,我们可以使用API级别21及以上的状态栏将颜色设置为使用
<item name="android:statusBarColor">@color/colorPrimary</item>
Run Code Online (Sandbox Code Playgroud)
但我正在寻找类似的东西
<item name="android:statusBarDrawable">@drawable/myDrawable</item>
Run Code Online (Sandbox Code Playgroud)
我见过使用的例子
<item name="android:windowTranslucentStatus">false</item>
<item name="android:windowTranslucentNavigation">false</item>
Run Code Online (Sandbox Code Playgroud)
但在那种情况下状态栏和操作栏重叠(使用fitSystemWindow = true但仍未解决)也尝试使用https://github.com/jgilfelt/SystemBarTint这个库,但仍然没有运气
先感谢您!!