问题标签 [android-elevation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android L 中的海拔在做什么?
今天我开发了我的第一个 Android L 应用程序,并阅读了 d.android.com/preview 提示。他们说 android:elevation 会显示阴影。但是看看这个:
我在模拟器中看不到任何阴影。我做错了什么还是模拟器有问题?我正在使用 Android Studio
android - android:elevation 在 L 预览中不起作用
几天来我一直在玩 L 预览,似乎不起作用的一件事是android:elevation
视图的属性。调用时它工作得很好View.setElevation()
,但它似乎忽略了 XML 属性。我正在使用 Android Studio 0.8.2 并minSdkVersion
设置targetSdkVersion
为'L'
,并compileSdkVersion
设置为'android-L'
. buildToolsVersion
是"20.0.0"
。这是一个无法正常工作的示例布局:
这是结果的屏幕截图:imgur.com/mqeq9vK
根据android:elevation
我的设置,底牌应该平放在“地面”上,但事实并非如此。事实上,它看起来和顶牌的海拔没有什么不同5dp
。这是一个已知问题吗?它对您有用吗?
编辑:似乎CardView
只有Buttons
. 在这个布局中,我用 替换CardView
了Button
,即使阴影有点搞砸了(已知错误),您仍然可以看到高程的差异。
编辑 2:几乎可以确认此问题仅影响CardView
,android:elevation
适用于任何其他视图。有关为什么会发生这种情况的详细解释,请查看接受的答案。同时,我的解决方法是CardView
用 a替换FrameLayout
并设置android:background
为可绘制对象。这是一个有效的卡片背景可绘制示例:
我也将此作为一个错误提交,所以如果它影响到你,请给这个问题加注星标。https://code.google.com/p/android-developer-preview/issues/detail?id=731
android - Android 5.0 (Lollipop) 上的海拔不工作
我试图重现此处提供的 Google 海拔示例:
https://developer.android.com/training/material/shadows-clipping.html
但对我来说,没有阴影出现。不在 Android Studio 设计器中,不在 AVD 模拟器中。我正在使用所有最新版本的 Android Studio、SDK 和模拟器映像。
我错过了什么?
android - 海拔属性不起作用android
嗨,我正在开发 android 应用程序,我正在尝试实现新的材料设计功能。我试图应用海拔属性,但它不适合我。我按以下方式尝试过。
它没有显示该图像的任何阴影。我做错什么了吗?需要一些帮助。谢谢你。
我也尝试过这种方式,但输出仍然没有变化。
android - Android Lollipop 上的高程 + 透明度错误
在 API 21 上为具有一些 alpha(例如 #99fe0038)和一些高度的视图使用背景颜色会显示两个圆圈:一个用于视图本身,另一个用于内部:
高度和背景颜色通过代码设置:
没有设置高度或使用不透明颜色,一切看起来都像预期的那样。
是 Android 错误还是我在这里遗漏了什么?
android - 在 Android 5.0 上的 AppCompat CardView 上以 XML 设置海拔
据我了解,在预览阶段的早期,似乎没有办法在CardView
没有 Java 破解的情况下仅在 s 上设置 XML 的高度。现在正式发布了,有没有什么方法可以在 XML 中做到这一点而无需编写 Java 代码来设置海拔?
我试过card_view:cardElevation
没有效果。当我使用 5.0 的模拟器时,我曾想过一切都很好。但是现在我在我的实际设备上使用正式版,我的所有CardView
s都消失了
Pre Lollipop,效果很好。
这是我的完整xml
android - 如何在所有Android版本上显示支持库的ActionBar&Toolbar的影子?
这是一个简单的问题:
我使用新的支持库,它允许我拥有一个 Toolbar 实例,甚至将其设置为活动的 actionBar(或使用默认的)。
如何自定义工具栏(或默认操作栏)投射的阴影?
我尝试使用“setElevation”(在他们两个上),但它似乎在 Android Lollipop 上没有做任何事情。
另外,我找不到如何自定义棒棒糖前版本的阴影。可能有一个API吗?或者至少是一个drawable(我没有找到,即使我试过了)?
好的,我设法找到了接下来的事情:
对于 Lollipop 和 pre-Lollipop,当您的活动使用正常的 AppCompat 主题(例如“Theme.AppCompat.Light”)时,阴影应该看起来不错。
但是,当您使用“setSupportActionBar”(并使用适当的主题,例如“Theme.AppCompat.Light.NoActionBar”)时,阴影会出现一些问题。
对于棒棒糖之前的版本,您可以在工具栏下方放置一个 FrameLayout,它看起来与用于普通主题的完全一样,如下所示:
您可以使用 FrameLayout 作为活动的内容,或者使用我所做的。您还可以通过将整数 0 设置为 pre-lollipop 并将 2 设置为 Lollipop 及更高版本来设置其可见性,就像我对“action_bar_shadow_background_visibility”所做的那样。
这是一个丑陋的解决方案,但它有效,但仅适用于棒棒糖之前的版本。
无论如何,如果我使用“setSupportActionBar”,我仍然找不到为 Lollipop 很好地显示阴影的方法。我尝试在工具栏和操作栏上使用“setElevation”(在调用“setSupportActionBar”之后使用“getSupportActionBar”)。
我也不知道如何获得 actionbar 的标准高度,因为我注意到很多教程都说要使用“minHeight”作为工具栏。对此也将不胜感激。
谁能帮我这个?
同样,为了清楚起见,这就是我要问的:
- 对于 Pre-Lollipop,显示在工具栏和操作栏的支持库中使用的相同阴影。
- Lollipop 也一样(但使用 Lollipop 的那个)
- 额外:在 Lollipop 上自定义阴影更“精致”(可能在所有版本上自定义)。
- 额外:为什么工具栏的 minHeight 得到的是操作栏高度的值,而不是高度本身?
编辑:好的,这是迄今为止我为模仿棒棒糖的影子所做的:
res/layout/toolbar_action_bar_shadow.xml
res/layout-v21/toolbar_action_bar_shadow.xml
res/drawable-v21/res/layout/msl__action_bar_shadow.xml
它不完全一样,但它是相似的。
编辑:我仍然不知道为什么会发生。我认为我在这个问题上写的代码具有误导性,因为要做的就是设置背景。然而在我正在测试的应用程序上它仍然没有帮助。我要修复的应用程序在导航抽屉上方有工具栏。
有一刻我认为这可能是因为我制作了一个自定义工具栏(从工具栏扩展)并且改变了它的 alpha 值(根据导航抽屉),但即使我使用普通工具栏并禁用所有相关的到 alpha,它仍然无法正常工作。此外,不仅如此,在一个全新的项目中,我尝试为工具栏设置半透明背景,并根据“setElevation”方法得到阴影。
现在我更难找到这个问题的原因,因为这似乎不是因为透明度,也不是因为自定义 Toolbar 类......
这是具有工具栏的活动的布局,以防万一这有任何帮助:
android - Android“海拔”不显示阴影
我有一个 ListView,对于每个列表项,我希望它在它下面显示一个阴影。我正在使用 Android Lollipop 的新高度功能在要投射阴影的视图上设置 Z,并且已经使用 ActionBar(技术上是 Lollipop 中的工具栏)有效地执行此操作。我正在使用 Lollipop 的海拔,但由于某种原因,它没有在列表项下显示阴影。以下是每个列表项布局的设置方式:
但是,这是它显示列表项的方式,没有阴影:
我也尝试了以下方法无济于事:
- 将高度设置为 ImageView 和 TextViews 本身,而不是父布局。
- 为 ImageView 应用背景。
- 使用 TranslationZ 代替 Elevation。
android - Android“海拔”没有在 CustomView 下显示阴影
我有一个在棒棒糖之前工作的 CustomView,现在我尝试在棒棒糖设备上应用android:elevation
,android:translateZ
但似乎不起作用。
我错过了什么?
android - 未显示 CardView 中 View 的 Android 高程
我想在 Android Lollipop 中提升的 CardView 中有一个 RelativeLayout,但未显示高度(未显示阴影):
我的布局文件:
所以在这个布局中,我在 RelativeLayout 中添加了这两行来制作高程:
有人知道为什么没有显示吗?目前,我使用 Android API 21 (Lollipop) 使用模拟器对其进行测试。