Articles of android elevation

将高程阴影绘制到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= […]

Android ScrollView剪辑子高程阴影

正如标题所述,我正在尝试将一个CardView放在ScrollView中,但是CardView高程阴影正在被它的父母关闭… 这是布局XML: 我find的唯一解决方法是向父ScrollView添加填充或向子CardView添加边距… 有没有选项可以防止这种情况发生而不使用填充/边距? 谢谢。 编辑: 这就是布局在没有在父滚动视图上设置填充的情况下的样子,因为可以看到,左右阴影被切断: 现在,如果将填充添加到父滚动视图侧,则可以正确绘制阴影,如下所示: 所以,我的主要问题是这是实现这一目标的唯一方法吗?或者父视图上是否有标记或配置可以正确绘制它的子视图?

按主题更改ActionBar的提boost度

我想删除ActionBar下面的阴影。 我知道我需要将高程更改为0dp,但我想在主题中执行此操作。 对于Android 4.4-我使用: @null 但Android 5.0有可能吗?

如何在cardview前面引入imageView? 当两者都是相对布局的孩子

我有一个布局XML: 哪个工作正常。 结果将是框架布局上方的图像视图,但是当我使用下面的xml时,我用CardView替换了框架布局: 然后结果将是:CardView背面的ImageView。 任何解决方案? 更重要的是,它可以在棒棒糖前设备上正常工作,但在棒棒糖上它不起作用。 在棒棒糖前设备上使用CardView输出(所需输出) 在棒棒糖设备上使用CardView输出

如何在所有Android版本上显示支持库的ActionBar和工具栏的阴影?

这是一个简单的问题: 我使用新的支持库,它允许我有一个工具栏实例,甚至将其设置为活动的actionBar(或使用默认的)。 如何自定义工具栏(或默认ActionBar)投射的阴影? 我试过使用“setElevation”(两者都有),但它似乎没有在Android Lollipop上做任何事情。 另外,我找不到如何在Lollipop前版本上自定义阴影。 可能有这个API吗? 或至少是一个drawable(我没有find,即使我已经尝试过)? 好的,我已经设法find了下一件事: 对于Lollipop和pre-Lollipop,当您的活动使用正常的AppCompat主题(例如“Theme.AppCompat.Light”)时,阴影看起来应该很好。 但是,当您使用“setSupportActionBar”(并使用适当的主题,例如“Theme.AppCompat.Light.NoActionBar”)时,您将遇到阴影的一些问题。 对于pre-Lollipop,你可以在工具栏下面放置一个FrameLayout,它看起来就像用于普通主题的那样,如下所示: 您可以使用FrameLayout作为活动的内容,或使用我所做的。 您还可以通过为棒棒糖前置整数0和为棒棒糖及以上版本放置2来设置其可见性,就像我使用“action_bar_shadow_background_visibility”一样。 这是一个丑陋的解决方案,但它可以工作,但仅限于前Lollipop版本。 在任何情况下,我仍然找不到一种方法来为棒棒糖显示阴影,以防我使用“setSupportActionBar”。 我尝试在工具栏和操作栏上使用“setElevation”(在调用“setSupportActionBar”之后立即使用“getSupportActionBar”)。 我也没有得到如何获得动作栏的标准高度,因为我注意到很多教程说使用“minHeight”作为工具栏。 非常感谢这方面的帮助。 谁能帮我这个? 再说一次,为了说清楚,这就是我的要求: 对于Pre-Lollipop,显示在工具栏和ActionBar的支持库上使用的相同阴影。 Lollipop相同(但使用Lollipop拥有的那个) 额外:在Lollipop上自定义阴影更加“精致”(也许可以在所有版本上自定义)。 额外:为什么工具栏的minHeight获取操作栏高度的值,而不是高度本身? 编辑:好的,到目前为止,这是模仿Lollipop的影子: RES /布局/ toolbar_action_bar_shadow.xml RES /布局-V21 / toolbar_action_bar_shadow.xml RES /抽拉-V21 / RES /布局/ msl__action_bar_shadow.xml 它不完全相同,但它是相似的。 编辑:我仍然不知道为什么会这样。 我认为我在这个问题上写的代码是误导性的,因为所有要做的就是设置背景。 然而在我正在测试它的应用程序仍然无济于事。 我正在尝试修复的应用程序在导航抽屉上方有工具栏。 有一会儿,我认为可能是因为我制作了一个自定义工具栏(从工具栏扩展)并改变了它的alpha值(根据导航抽屉),但即使我使用普通工具栏并禁用所有相关内容到alpha,它仍然无法正常工作。 此外,不仅如此,而且在一个全新的项目中,我试图为工具栏设置半透明背景,并根据“setElevation”方法得到阴影。 现在我更难find导致这个问题的原因,因为它似乎不是因为透明而不是因为自定义工具栏类…… 这是包含工具栏的活动的布局,以防这可能有任何帮助: <!–

高程和平移之间的差异

我尝试了两种function,但我不知道为什么我应该使用提升而不是翻译或反之。 当我使用它们时都会产生阴影。 我应该同时使用(具有相同的值)? 我应该只使用一个? 先谢谢你! 编辑: 我进行了视觉比较,可以清楚地看到它: 我得到的结论是(至少在0到16 dp的范围内)其中一个是可有可无的。 我看到8对8和16对16的相同阴影和16对8 + 8的相同阴影。 但我没有一个伟大的愿景,你觉得谁呢?

如何改变android高程阴影的方向?

我有FrameLayout与android:elevation =“4dp”。 这个高度的阴影朝下。 我想改变阴影的方向。