- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我刚开始进行 Material 设计,但在使用 CardView 以外的任何东西时都遇到了问题。具体来说,它应该在 LinearLayout 上工作吗?
<LinearLayout
android:paddingTop="10dp"
android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="2dp">
<LinearLayout
android:id="@+id/shareLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp">
<ImageView
android:id="@+id/shareIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_share_black_48dp"/>
<TextView
android:id="@+id/shareText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingLeft="10dp"
android:text="@string/action_share"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_computer_black_48dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingLeft="10dp"
android:text="@string/action_desktop"/>
</LinearLayout>
</LinearLayout>
此代码不会产生可见的布局高程 - 没有阴影。如果我把它放在 CardView 中,提升会起作用,但是我在触发点击事件时遇到了问题。我试过删除图像,但没有效果。我是否只需要将我想要提升的所有内容都包装在 CardView 中,还是有其他方法?谢谢。
我正在运行 Android 5.0.2 的 Nexus 7 上进行测试。
更新
我按照建议尝试了 outline provider,结果出现了阴影,但是很奇怪。
看起来 LinearLayout 是有角度的,而不是只是升高的。更改边距似乎没有帮助。有人有任何其他想法吗?
最佳答案
使用 ViewOutlineProvider 为所有 View 生成阴影。如果设置了背景,则此类提供程序会自动从 View 的背景中生成。阴影采用背景的形状和透明度。要使透明 View 转换阴影,您必须设置自己的 ViewOutlineProvider:
view.setOutlineProvider(new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
outline.setRect(0, 0, view.getWidth(), view.getHeight());
}
});
确保阴影转换器有足够的空间来绘制它的阴影。默认情况下,CardView 为此目的添加自己的填充。
关于Android Material 设计 - LinearLayout elevation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30332681/
摘自 2009 年 7 月题为 Inside Windows 7 User Account Control 的 Technet 文章, Mark Russinovish 描述了以标准用户身份运行的应用
我使用一种非常简单的样式来格式化我的工具栏,我使用 android:elevation 在工具栏下显示阴影,如下所示: @color/colorPrimary @android:co
我有一个 ListView,对于每个列表项,我希望它在其下方显示一个阴影。我正在使用 Android Lollipop 的新高度功能在要转换阴影的 View 上设置 Z,并且已经使用 ActionBa
我有一个垃圾桶的简单 ImageView,我将其作为矢量 Assets 导入。这是 XML 为什么抬高了也看不到影子?我想避免使用 cardview 容器并使用它的影子,否则我将不得不在 cardV
我有一个系统,我用 UAC 正常设置它,在我的 delphi 环境中编译名为 ka.exe 的项目,并为它创建一个 installshield 项目。 设置一切正常!但是每当我开始我的程序时,它都需要
我使用任何位置的经度和纬度通过 Google elevation API 获取海拔高度。 https://developers.google.com/maps/documentation/elevat
我无法在 elevate 缩放插件的缩放窗口中显示正确的图像。我正在为我的缩略图使用 jcarousel 滚动。这就是为什么我的缩略图位于不同的 div 中。该页面效果很好。我单击滚动框中的缩略图,它
我有一个 TextView 和一个 View ,我想在 View 上方显示 TextView ,效果很好,但是向 View 添加高度时,TextView 隐藏在该 View 下。 XML: 最佳答
我正在尝试 disable the shadow below a transparent AppBarLayout/Toolbar.这是布局: 我已
我正在尝试遵循一个假设显示如何添加 float 按钮的教程,并且在教程中它说将属性 android:elevation 添加到按钮 xml 中,如下所示: 但它无法识别该属性...我相信它与我的项目
这个问题在这里已经有了答案: C# Drag drop does not work on windows 7 (6 个答案) 关闭 3 年前。 我有一个 .net 应用程序,由于访问一些低级别的 w
我的应用适用于 API 19。所以我不能使用 android:elevation。所以我 app:elevation 在我的布局中。 Android XML: android:elevation vs
我在一个activity的底部使用了一个framelayout,为了在fragment上显示阴影效果,我添加了android:elevation。但是阴影效果只出现在底部而不出现在顶部,任何人都可以给
我正在关注谷歌的优秀 blog post为我的应用程序制作一个深色主题,但我没有看到任何关于如何让 View (按钮、应用程序栏等)的提升效果起作用的引用。例如,当我将我的应用程序主题设置为 并像这样
我有一个 ListView 和一个 BottomNavigationView。我希望将 ListView 置于 BottomNavigationView 之上。换句话说,用户只能看到ListView,
我知道 Flutter's Canvas.drawShadow 转换为 Skia's SkShadowUtils::DrawUtils ,其中 Flutter 端的 elevation 影响 Skia
我正在使用JavaFx和Intellij-idea创建一个Windows应用程序,其中一些功能正在执行CMD命令。其中一个命令是route delete 0.0.0.0 mask 0.0.0.0,它将
google 的距离矩阵 api 在显示两个经纬度点之间的距离时是否考虑“海拔”? 假设第一个人在机场的上层,第二个人站在同一个机场的下层,在同一条线上,谷歌的距离矩阵 api 显示的距离会考虑两个人
我目前正在做一个元素,我对拥有一种“电梯推介轮播”很感兴趣,这种功能可以在 www.salesforce.com 等网站上看到。我查看了他们的源代码,但我对 HTML 和 CSS 编辑还比较陌生,我很
如果我想在黑色背景 GUI 中使用阴影合并 Material Design 的 Elevation,是否可行?我在 Android 网站上看不到太多关于此的文章。黑色背景是否完全扼杀了高度概念? 最佳
我是一名优秀的程序员,十分优秀!