【问题标题】:Elevation / shadow not working on my app海拔/阴影不适用于我的应用程序
【发布时间】:2017-07-13 16:05:00
【问题描述】:

我正在为我们的顶点项目创建一个 Android 应用程序。我正在使用 API 23。我在工具栏和其他组件上添加了高程,但阴影没有出现。我的主题毁了它吗?

    <!-- Base application theme. -->
    <style name="ThesisTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:colorButtonNormal">@color/colorButton</item>
        <item name="android:textColorPrimary">@color/textColorPrimary</item>
        <item name="android:statusBarColor">@color/colorPrimaryDark</item>
        <item name="android:navigationBarColor">@color/colorPrimary</item>

        <item name="colorControlNormal">#c5c5c5</item>
        <item name="colorControlActivated">@color/colorAccent</item>
        <item name="colorControlHighlight">@color/colorPrimaryDark</item>

        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <!--Datepicker-->
        <item name="android:datePickerDialogTheme">@style/MyDatePickerDialogTheme</item>

    </style>

当我尝试包含工具栏然后将程序运行到我的手机/模拟器时,阴影不会显示。即使有cardview

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/activity_login"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="capstoreit.capstoreit.Login.Login"
    android:background="@drawable/login_bg">


    <!--Layout for Login and Signup-->
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:elevation="10dp"
            android:layout_height="wrap_content">


    <!--Toolbar-->
    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:local="http://schemas.android.com/apk/res-auto"
        android:id="@+id/login_toolbar"
        android:layout_width="match_parent"
        android:elevation="10dp"
        local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        local:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@drawable/new_logo"
            android:adjustViewBounds="true"
            android:padding="5dp"
            android:id="@+id/app_logo" />

    </android.support.v7.widget.Toolbar>

    <!--Tab-->
        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill"
            android:elevation="10dp"
            android:background="@color/textColorPrimary"
            app:tabSelectedTextColor="@color/colorAccent"
            />
</android.support.design.widget.AppBarLayout>


        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.8"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:layout_alignParentStart="true"
            >
        </android.support.v4.view.ViewPager>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_weight="0.2"
            />



    </LinearLayout>


</RelativeLayout>

截图:

改成app:elevation后

【问题讨论】:

  • 试试app:elevation而不是android:elevation

标签: android elevation


【解决方案1】:

如果您也在使用旧版本的支持库,请使用它

app:elevation

如果您不使用支持库,请使用它

android:elevation

【讨论】:

  • 我发现有趣的是,即使我使用的是 compat,对于同一个视图 app:elevation 不起作用但 android:elevation 起作用。不知道为什么。
【解决方案2】:

我能够通过在我的 Android Manifest 中删除它来修复我的错误:

        android:hardwareAccelerated="false"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-22
    • 2015-02-13
    • 2015-08-18
    • 1970-01-01
    • 2018-01-13
    • 2017-10-15
    • 2016-02-03
    • 2018-07-09
    相关资源
    最近更新 更多