Articles of android elevation

Android 5.0(Lollipop)上的Elevation无法正常工作

我试图重现Google在这里提出的高程示例: https://developer.android.com/training/material/shadows-clipping.html 但对我来说,没有阴影出现。 不在Android Studio设计器中,不在AVD模拟器上。 我正在使用所有最新版本的Android Studio,SDK和模拟器图像。 我错过了什么?

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的问题。 在这个布局中,我用Button取代了CardView ,即使阴影有点搞砸(已知错误),你仍然可以看到高度上的差异。 编辑2:已经证实这个问题只影响CardView , android:elevation适用于任何其他视图。 有关发生这种情况的详细解释,请查看已接受的答案。 与此同时,我的解决方法是用FrameLayout替换CardView并将android:background设置为drawable。 以下是可用的卡背景可绘制的示例: 我也将此作为一个错误提交,所以如果它影响你,请为此问题加注。 https://code.google.com/p/android-developer-preview/issues/detail?id=731

我如何获得要提升的ListView项?

我试图得到它所以我的listview项目被提升并显示一个投影。 这是我的列表视图项布局 这是我的ListView布局 任何帮助,将不胜感激。

什么是Android L中的高程?

今天我开发了我的第一个Android L应用程序,并阅读d.android.com/preview提示。 他们说android:海拔会给我看阴影。 但看看这个: 我的模拟器中没有看到任何阴影。 我做错了什么还是模拟器车? 我正在使用Android Studio

更改CardView阴影颜色

这个问题在很多时候被问过,但我仍然找不到解决这个问题的好方法。 为什么我需要这样做? 因为项目我和我的团队开发有iOS风格。 我尝试了什么? 9.pathch阴影生成器,但9.pathes本质上是pngs,它给了我没有灵活性,如果我将使用这种方法,我应该编辑边缘到处。 它支持自定义阴影的碳库 ,它们被绘制在视图边框之外,但是当库不为圆角绘制阴影时,存在关于圆角矩形的问题 。 使用旧的CardView实现并覆盖其阴影颜色,但它被绘制在卡片边界内,因此它不是选项。 那么有没有办法改变CardView的阴影颜色,只需对所有布局文件进行最少的编辑,并在视图外部绘制阴影,就像原始的CardView一样?

appCompat v24.0.0上的AppBarLayout高程更改延迟

在Appcompat v24.0.0中 ,在Activity可见后, AppbarLayout 阴影/高程渲染到AppbarLayout 。 在阴影绘制到AppbarLayout可以很容易地看到AppbarLayout 。 以前的Appcompat库版本中没有这种延迟。 使用Appcompat v24.0.0和Appcompat v23.4.0进行测试,在新版本中清晰显示阴影图。

将高程阴影绘制到canvas

我使用下面的代码绘制到位图/canvas的视图。 Bitmap bitmap = Bitmap.createBitmap( viewGroup.getWidth (), viewGroup.getHeight (), Bitmap.Config.ARGB_8888); viewGroup.draw(new Canvas(bitmap)); 它工作得很好,有一个小问题:它不会绘制高程阴影。 我假设阴影不是在draw方法中绘制的。 那么他们在哪里绘制,我怎样才能将它们转移到我的canvas上?

两个具有相同高度的视图并排

我有两个相同高度的视图。 我想要的行为是,他们不会在彼此之间投下阴影,因为它们具有相同的高度,然而,正在发生的事情是左侧的视图在右侧投下阴影。 它们的大小不同,因此我无法将它们放在另一个视图中并对该视图应用高程。 这是预期的行为吗? 有办法吗? 编辑: 我只是用简单的视图重新创建,这里是代码。 我也注意到它有预期的行为,如果我直接在布局中有视图,并且不包括它,就像我在这个例子中所做的那样,因为我需要它才能工作。 以下是包括: 截图:

关于Android的澄清“属性提升仅用于API级别21及更高级别”

我是开发Android的新手,而且在不同平台上开发的概念在每个平台上都有不同的支持function,这真的让我头疼。 例如,如果我进入xml文件并进行设置 android:elevation=”10dp” 它给了我一条消息“属性提升仅用于API级别21及更高级别(当前最小值为14),并表示它将完全忽略该属性。这是说它即使我使用它也会完全忽略它一个Lollipop设备,或者如果我不在Lollipop设备上它只会忽略它?

凹凸轮廓上的棒棒糖高程

我有一个自定义视图,通过使用路径显示星形。 此视图按预期工作,但现在我想将其实现转移到新的Google Material建议。 不幸的是, elevation取决于凸起的轮廓,我还没有find解决方案。 您是否知道任何已知的变通方法或任何其他创造性解决方案? 这是我的凹路: double outerSize = w / 2; double innerSize = w / 5; double delta = 2.0*Math.PI/5.0; double rotation = Math.toRadians(-90); double xpos = w/2.0; double ypos = h/2.0; mPath = new Path(); mPath.moveTo((float)(outerSize * Math.cos(delta + rotation) + xpos), (float)(outerSize * Math.sin(delta + rotation) + ypos)); for(int point= […]