gpt4 book ai didi

android - 原色(有时)变得透明

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:56:17 25 4
gpt4 key购买 nike

我正在使用最新的 SDK 版本 (API 21) 和支持库 21.0.2 进行开发,但在尝试实现新的 Material Design 指南时遇到了问题。

Material Design 说我需要有我的 primary color 和我的 accent color 并将它们应用于我的应用程序。但有时当我打开应用程序时,primary color 在某些小部件中变得透明,它会恢复正常,直到我关闭应用程序(使用返回按钮)并再次启动它。

这是我的工具栏中primary color透明的示例。

enter image description here

我使用 Teal 500 作为我的主要颜色,如您所见,它仅在 android.support.v7.widget.Toolbar 中是透明的。这也发生在我的 Navigation Drawer 和(有时,有时不)另一个随机小部件中。

这是我的工具栏

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar" >

我试过 @color/primary?attr/colorPrimary 但没有成功。

这是我的主题(我不知道它是否相关,但以防万一):

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="colorAccent">@color/accent</item>
<item name="android:textColorPrimary">#fff</item>

<item name="windowActionModeOverlay">true</item>
<item name="android:textViewStyle">@style/Widget.TextView.White</item>
</style>

这只发生在 primary color 上,accent color 工作正常。我的设备运行的是 4.2.2,我还没有检查更多设备。

带工具栏的 Activity

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />

<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="MergeRootFrame" />
</LinearLayout>

<!-- The navigation drawer -->

<LinearLayout
android:id="@+id/navdrawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
android:orientation="vertical" >

<!-- IN THIS IT ALSO HAPPENS -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingBottom="16dp"
android:orientation="vertical"
android:background="@color/primary" >

<!-- Some stuff -->

</LinearLayout>

<ListView
android:id="@+id/left_drawer"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@color/black_light"
android:divider="@color/grey"
android:choiceMode="singleChoice" />
</LinearLayout>

</android.support.v4.widget.DrawerLayout>

最佳答案

问题与工具栏背景的处理方式有关。它在工具栏的所有实例之间共享,因此如果您倾向于更改工具栏的背景 alpha,您也会更改在其他屏幕上重复使用的可绘制对象的 alpha。

确保您没有使用工具栏的背景属性进行操作,而是在每次您想要对其进行自定义时设置新的背景颜色/可绘制对象。

关于android - 原色(有时)变得透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27210266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com