Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Google Now状态栏上的渐变/阴影&;导航栏_Android_Gradient_Shadow_Navigationbar_Android Statusbar - Fatal编程技术网

Android Google Now状态栏上的渐变/阴影&;导航栏

Android Google Now状态栏上的渐变/阴影&;导航栏,android,gradient,shadow,navigationbar,android-statusbar,Android,Gradient,Shadow,Navigationbar,Android Statusbar,我正在尝试做一个类似谷歌现在的状态栏和导航栏梯度 图像参考:如下所示的矩形区域 在安卓棉花糖上尝试以下选项后 <item name="android:windowTranslucentNavigation">true</item> <item name="android:windowTranslucentStatus">true</item> true 真的 我有以下行为 图像参考: 有谁能建议我如何在这两个方向上获得梯度吗

我正在尝试做一个类似谷歌现在的状态栏和导航栏梯度

图像参考:如下所示的矩形区域

在安卓棉花糖上尝试以下选项后

    <item name="android:windowTranslucentNavigation">true</item>
    <item name="android:windowTranslucentStatus">true</item>
true
真的
我有以下行为

图像参考:

有谁能建议我如何在这两个方向上获得梯度吗?

那是一个渐变还是一个阴影?

这是一个用作阴影的渐变。要实现此效果,首先要删除状态栏和导航栏的半透明参考底图。详细说明如何在较低平台设备上执行此操作;但在Android棒棒糖和更高版本上,您只需将两个样式属性设置为透明即可:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme" parent="android:Theme.Material.Wallpaper.NoTitleBar">
        <item name="android:statusBarColor">@android:color/transparent</item>
        <item name="android:navigationBarColor">@android:color/transparent</item>
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>
</resources>

您还可以设置android:rotation=“180”属性,以便在屏幕底部使用相同的渐变。

首先添加样式以使操作状态栏完全透明:

<!-- Base application theme. -->
<style name="TransparentTheme" parent="android:Theme.Holo.Light">
<!-- Customize your theme here. -->
<item name="android:windowBackground">@null</item>
<item name="android:actionBarStyle">@style/ActionBarStyle.Transparent</item>
<item name="android:windowActionBarOverlay">true</item> 
</style>

<style name="ActionBarStyle.Transparent" parent="android:Widget.ActionBar">
<item name="android:background">@null</item>
<item name="android:displayOptions">showHome|showTitle</item>
<item name="android:titleTextStyle">@style/ActionBarStyle.Transparent.TitleTextStyle</item>
</style>

<style name="ActionBarStyle.Transparent.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@android:color/white</item>
</style>

@空的
@style/ActionBarStyle.Transparent
真的
@空的
showHome | showTitle
@style/ActionBarStyle.Transparent.TitleTextStyle
@android:彩色/白色
要向其中添加scrim,请创建可绘制文件并添加以下代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#88000000" />
<gradient
    android:angle="90"
    android:centerColor="#66000000"
    android:centerY="0.3"
    android:endColor="#00000000"
    android:startColor="#CC000000"
    android:type="linear" />
</shape>


并将其作为背景添加到主题中

不要使用旧的操作系统选项,似乎您已经添加了旧的操作系统选项您指的是“minSdkVersion”还是“targetSdkVersion”。。。。我正在Android 6.0设备上测试,google now屏幕截图也取自同一设备。。。我在我的示例应用程序中提到,minSdkVersion为21,targetSdkVersion为23的应用程序的工作方式与以前不同,但我从您的回答中得到了一些很好的提示。如果我注意到了这一点,我可以看到,不是google now应用程序有scrim,而是主屏幕(即状态栏本身有scrim)。我们可以查看状态栏的android源代码,以及scrim是如何应用的。@Jitendar我不认为它直接应用于状态栏(尽管我不会完全排除它)。我认为这不是开源的,它将内容scrim应用于主屏幕
<!-- Base application theme. -->
<style name="TransparentTheme" parent="android:Theme.Holo.Light">
<!-- Customize your theme here. -->
<item name="android:windowBackground">@null</item>
<item name="android:actionBarStyle">@style/ActionBarStyle.Transparent</item>
<item name="android:windowActionBarOverlay">true</item> 
</style>

<style name="ActionBarStyle.Transparent" parent="android:Widget.ActionBar">
<item name="android:background">@null</item>
<item name="android:displayOptions">showHome|showTitle</item>
<item name="android:titleTextStyle">@style/ActionBarStyle.Transparent.TitleTextStyle</item>
</style>

<style name="ActionBarStyle.Transparent.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@android:color/white</item>
</style>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#88000000" />
<gradient
    android:angle="90"
    android:centerColor="#66000000"
    android:centerY="0.3"
    android:endColor="#00000000"
    android:startColor="#CC000000"
    android:type="linear" />
</shape>