首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何覆盖在Android按钮中按下的材料设计状态

Android按钮的材料设计状态包括按下(Pressed)、选中(Selected)、禁用(Disabled)和默认(Default)状态。覆盖这些状态可以通过以下步骤实现:

  1. 创建按钮的XML文件:在res/drawable目录下创建一个XML文件,用于定义按钮的不同状态。例如,命名为button_material.xml。
  2. 定义按钮的默认状态:在button_material.xml文件中,使用<selector>标签定义按钮的默认状态。例如:
代码语言:txt
复制
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="true" android:state_pressed="false" android:drawable="@drawable/button_default" />
    <item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/button_pressed" />
    <item android:state_enabled="false" android:drawable="@drawable/button_disabled" />
</selector>

上述代码中,使用<item>标签定义了按钮的不同状态,包括默认状态(button_default)、按下状态(button_pressed)和禁用状态(button_disabled)。

  1. 定义按钮的按下状态:在button_material.xml文件中,使用<item>标签定义按钮的按下状态。例如:
代码语言:txt
复制
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    ...
    <item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/button_pressed" />
    ...
</selector>

上述代码中,当按钮被按下时,使用@drawable/button_pressed指定按钮的按下状态。

  1. 定义按钮的禁用状态:在button_material.xml文件中,使用<item>标签定义按钮的禁用状态。例如:
代码语言:txt
复制
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    ...
    <item android:state_enabled="false" android:drawable="@drawable/button_disabled" />
</selector>

上述代码中,当按钮被禁用时,使用@drawable/button_disabled指定按钮的禁用状态。

  1. 应用按钮的材料设计状态:将button_material.xml文件作为按钮的背景属性应用到Android布局文件中的按钮控件上。例如:
代码语言:txt
复制
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_material"
    android:text="按钮" />

上述代码中,通过android:background属性将button_material.xml文件作为按钮的背景,从而应用按钮的材料设计状态。

总结: 通过创建XML文件并使用<selector>标签定义按钮的不同状态,可以实现覆盖Android按钮中按下的材料设计状态。在应用布局文件中,将定义好的XML文件作为按钮的背景属性即可实现按钮状态的切换。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一文彻底搞清楚 Material Design

Material Design 是一种综合了传统优秀设计和科技创新设计语言。 Material Design 设计灵感来自现实世界真正物质材料。...TranslationZ:动态海拔高度偏移高度,是一个偏移距离,是用来作动画效果,否则不要使用。 Translation Z 是动态,当创建一个项目,增加一个按钮,当按钮会阴影变大了。...按钮动作效果,默认 FAB 有 6dp Elevation,当按钮时 translation Z 值开始增加。...动态海拔高度偏移:指的是从静止状态向目标海拔移动距离(translationZ) 组件海拔高度: 同一组件不同应用,海拔高度是相同,比如:不同应用浮动操作按钮海拔是相同 同一组件不同平台和设备...一般控件标准海拔 应用栏:4dp 按钮:静止状态 2dp 状态:8dp 浮动操作按钮(FAB)静止:6dp :12dp 卡片 静止:2dp 浮动状态:8dp 菜单和子菜单:菜单:8dp

2.4K10

《移动互联网技术》第六章 资源管理: 掌握定制控件样式、界面主题、可绘制资源程序编写方法

” ​ android:layout_height=“wrap_content” ​ tools:text=“定制按钮“ /> 一个样式能继承并覆盖其他样式属性。...\res\values\styles.xml 要查看AppTheme主题定义,Ctrl键,点击@style/AppTheme,Android Studio就会自动打开res/values/styles.xml...round_button_pressed.xml,把按钮填充颜色改为红色,也就是当用户按钮时候,按钮显示为红色。...” Android:shape=“oval”> StateListDrawable 接下来要把按钮不同状态样式合并到一起。...标签设置state_pressed,当按钮压下状态为真时,就选择使用round_button_pressed样式文件;否则使用round_button_normal样式文件。

8410

flutter 起步

安装完成后-需要安装as(Android studio)运行 flutter doctor 检查环境缺失依赖图片根据错误提示安装相对应依赖与工具如何引用并安装第三方库pubspec.yaml管理第三方库...resizeToAvoidBottomPadding - 类似于 Android android:windowSoftInputMode='adjustResize',控制界面内容 body 是否重新布局来避免底部被覆盖了...Text:文本组件Icon:图标组件CloseButton:关闭按钮组件BackButton:返回按钮组件Chip:材料设计中非常有趣一个组件Divider:分割线组件Card:卡片状容器组件...Scaffold :Scaffold 实现了基本 Material Design 布局结构。 Material 设计定义单个界面上各种布局元素, Scaffold 中都支持。...resizeToAvoidBottomPadding - 类似于 Android android:windowSoftInputMode='adjustResize',控制界面内容 body 是否重新布局来避免底部被覆盖

4.5K20

项目需求讨论-标题栏上搜索功能

今天讲就是一个很简单具体开始时候遇到需求,标题栏实现搜索功能,而且美工要求需要实现下面GIF图效果,我就实现了,可能不是最好,有哪里可以更方便请大家指出。...正好仔细讲解了SearchView和Toolbar。希望大家看看我哪里是不是讲错了。哈哈。 ? 1.先抛开搜索功能,我们看如何单纯实现下图标题栏界面: ?...跟我们原来需求返回图标不同,所以我们也有二种方法来进行修改: 我们引入Appbartheme添加一个Item,将设计师给我们图放进去 <item name="<em>android</em>:homeAsUpIndicator...,就知道<em>在</em>第一步<em>中</em><em>的</em>标题栏<em>的</em>布局<em>的</em>上面,<em>覆盖</em>了一层横向布局,用来显示SearchView和取消<em>按钮</em>,该界面默认是隐藏<em>的</em>,只有当<em>按</em>了搜索图标<em>按钮</em>,再让这个横向布局显示,盖在上面,(当然同时也可以让原来<em>的</em>标题和搜索图标<em>按钮</em>隐藏...<em>中</em><em>的</em>搜索框(三)—— SearchView 我们看到,<em>在</em>GIF图中,当我点击了搜索图标<em>按钮</em><em>的</em>时候,SearchView <em>的</em>Visible设为显示<em>状态</em>,同时键盘出现,然后当我点击取消<em>按钮</em><em>的</em>时候,SearchView

1.3K10

五环材料管理软件MTO导入操作技巧

一、覆盖方式 1.1演示操作 1.1.1.第一次导入-原始数据 第一次导入时PF0004235设计量是2,后面我们会修改这个材料设计量作为升版功能演示数据 导入方式选择覆盖 导入完成之后可以点击发布按钮执行发布操作...1.1.3.第三次导入-增加了一个材料覆盖方式新增材料所属那根管线下所有材料(共5项)都被删除,然后将该管线下原来5项材料以及1项新增材料(共6项)全部以重新写入方式被加入,其中未变更...当采用覆盖导入方式时,有以下优势: 1.可追溯 每一次被覆盖旧版管线材料数据系统中会留下历史记录,未来可以反向追溯材料设计量。...3.材料升版简单 如果后期材料升版,只用再次将新版drawmto直接导入,即可完成材料升版工作,旧版数据都将被废弃;特别注意到有一种情况是有的管线和材料在前期设计存在,后期又取消,用覆盖导入方式才能使这类材料升版操作材料池减去...2.某些情况模板数据量小 关于追加方式有一个合适应用场景,就是MTO导入之后发现有小变动,而且这种变动仅限于某几根管线下某几项材料设计量发生了修改,或者是某根管线下新增了几项材料,仅将这部分变动材料粘到导入模板中比一次处理全厂或者整个装置材料要简单

51410

安卓-碎片使用入门

这样就完成了活动动态添加碎片功能,重新运行程序,可以看到和之前相同界面,然后点击一按钮,效果如图4.6所示。 ?... 在上一小节,我们成功实现了向活动动态添加碎片功能,不过你尝试一就会发现,通过点击按钮添加了一个碎片之后,这时Back键程序就会直接退出。...如果这里我们想模仿类似于返回栈效果,Back键可以回到上一个碎片,该如何实现呢?  ...现在重新运行程序,并点击按钮将AnotherRightFragment添加到活动,然后Back键,你会发现程序并没有退出,而是回到了RightFragment界面,继续Back键,RightFragment...结合之前活动状态,相信你理解起来应该毫不费力吧。同样地,Fragment 类也提供了一系列回调方法,以覆盖碎片生命周期每个环节。

1.4K20

来自谷歌5项Material设计规范

过去Google产品线,每一个都相当独立,在产品设计上反映得尤为明显,甚至不必看产品设计,只要看一Google每款产品LOGO都能发现许多不同风格设计。...实际上,Android 4.0设计风格,也不是纯粹平面化设计经过仔细观察之下,我们可以看到Android 4.0细节上并没有反对高光、阴影、纹理,换言之它并不反对立体感。...字体 参考规则 对于现实世界隐喻,Material Design更加倾向于用色彩来提示。我们屏幕当中按钮时,可以看到按钮颜色迅速发生变化,向石头投入湖面一样,产生了一波涟漪。...杜瓦迪这样设计是因为Material Design按钮都处于一个平面,不再突起,因此它必须采用和以往不同表示方法,以表明自己已经被。...随着Android 5.0发布,Material Design也必定会成为未来APP设计趋势,这种设计理念让Android界面体验上更加新鲜和简洁,且能够非常有效激发应用开发者创作热情,使其带来更加卓越应用界面

98450

AutoJs6 – v6.2.0 – 安卓 JavaScript 自动化工具 (Auto.js 二次开发)

修复 主页抽屉权限开关在提示消息对话框消失后可能出现状态未同步问题 修复 Root 权限修改主页抽屉权限开关失败时未继续弹出 ADB 工具对话框问题 修复 Root 权限显示指针位置初次使用时提示无权限问题...修复 使用悬浮窗菜单关闭悬浮窗后重启应用时悬浮窗依然开启问题 修复 布局层次分析时长按列表项可能导致弹出菜单溢出下方屏幕问题 修复 安卓 7.x 系统夜间模式关闭时导航栏按钮难以辨识问题...修复 http.post 等方法可能出现请求未关闭异常 修复 colors.toString 方法 Alpha 通道为 0 时其通道信息结果丢失问题 优化 重定向 Auto.js 4....优化 应用图标增加数字标识以提升多个开源版本共存用户使用体验 优化 主题色增加更多 Material Design Color (材料设计颜色) 选项 优化 文件管理器 / 任务面板等列表项图标适当轻量化并适配主题色...优化 禁用文档页面双指缩放功能避免文档内容显示异常 优化 任务面板列表项相对路径简化显示任务名称及路径 优化 文本编辑器按钮文本适当缩写避免文本内容溢出 优化 文本编辑器设置字体大小支持恢复默认值

4.4K20

2018年最优秀9个Android Material Design Apps!

今年谷歌所推出新版Gmail,展示了全新材料主题设计外观,全新材料设计配色方案,更多空白区域和精致图标。设计风格变化,使其呈现出更加现代化风格。...作为2017年谷歌材料设计奖得主之一,momondo安卓应用程序很好展示了如何在手机应用程序中体现材料设计基本原理。并且,跟随谷歌材料设计这个主题,也不断激发新安卓手机应用设计方向。...下载量:20,844 产品特色: 悬浮按钮设计 重复交互设计 Asana安卓设计维护其品牌视觉形象同时,也并没有因为其设计而分散产品核心功能。...作为材料设计执行者之一,悬浮按钮设计在这款应用程序得到了很好体现。通过点击品牌浮动操作按钮开始新项目,对话或任务,即可轻松创建新任务。...我们使用动画来消除事件创建过程步骤,并帮助使体验更加无摩擦。” - Thomas Censani,产品设计总监 总结: 去年,摹客团队为大家整理了10款Android界面设计

1.8K40

Solidworks 2023文版下载安装激活 附安装教程

05、如何添加或移除工具栏命令按钮 Solidworks命令按钮非常多,我们可以根据自己使用习惯,将我们设计过程中常用一些命令软件界面上显示,直接点击就能用,同样也可以将以下不常用命令移除...出详图和工程图: 更新了材料明细表覆盖材料明细表过滤器。...2、材料明细表所选区域差别化 设计工作,大部分情况是使用手动方式进行覆盖材料明细表更改,但由于选中区域与被选中区域内容没有显著差异,为了作区分,帮助用户清晰知道哪些内容是已经被修改,...现在,当材料明细表被选中时,任何覆盖项目会显示与用户自定义属性链接内容不同颜色,避免一些更改失误,减少操作化繁琐度。...3、基于BOM表一键筛选 SOLIDWORKS 2023 版本材料明细表可以使用具有逻辑条件自定义过滤器进行标准筛选,导出用户需要定制材料清单,如零件外购件清单。

11.6K50

Android构建Material Design应用详解

AndroidUI并不算美观,以至于很多IT公司进行界面设计时候,为了保证双平台统一性,强烈要求Android界面风格必须与iOS端一致,我认为这里非常不合理,同一操作系统各个应用之间界面统一性要远比一个应用在双平台界面统一性重要多...为了解决这个问题,Google公司2014年IO大会上推出了一套全新界面设计语言——Material Design(材料设计语言),这次Google界面设计上确实足了功夫,一个词,好看。...并且2015年IO大会上推出了一个Design Support库,这个库将Material Design中最具代表性一些控件和效果进行了封装,使得开发者不了解Material Design情况也可以轻松地将自己应用...LinearLayout,它在内部做了很多滚动事件封装,并应用了一些 Material Design 设计理念,AppBarLayout 解决了 FrameLayout Toolbar 被遮挡问题...4.全透明状态栏 需要 Android 5.0及以上。

1K10

Android5.0新特性-Material Design

材料设计概述 材料形态模拟 Google通过模拟自然界纸墨形态变化、光线与阴影、纸与纸之间控件层级关系,带来一种真实空间感 更加真实动画 Android5.x大量加入了各种新动画效果,让整个设计风格更加自然和谐...大色块使用 Material Desigin运用了大量高度饱和、适中亮度大色块来突出界面的主次,并一扫Android4.X系列Holo主题沉重感,让界面更加富有时尚感和视觉冲击力 此外还有很多新设计风格...,如悬浮按钮,聚焦大图、无框按钮、波纹效果等新特性 具体可参考 http://www.google.com/design/#resources 材料设计能做哪些工作 保证向后兼容性 使用材料设计主题...Android5.x,ViewZ值由 elevation + translationZ(这两个都是5.x引入新特性)组成。...Z = elevation + translationZ 通过布局文件和Java代码设置视图阴影 通过布局文件设置 xml设置View视图高度 android:elevation="Xxdp"

57720

【愚公系列】软考中级-软件设计师 052-面向对象技术(设计模式-行为型)

当你遥控器上按钮时,电视就会接收到对应命令,并执行相应操作。这样,你不需要亲自操作电视机上按钮或控制面板,只需使用遥控器就可以方便地控制电视。...举个例子,当你想要打开电视时,你可以遥控器上电源按钮。这个按钮上封装了“打开电视”命令,当你按钮时,遥控器会发送这个命令给电视机,电视机就会打开。...同样地,如果你想要切换频道,你可以对应频道按钮,这个按钮上封装了相应“切换频道”命令,电视就会切换到你想要频道。...举个生活例子:自动售货机,售货机可能有不同状态,如待机、售卖、缺货等。每种状态,售货机行为都不同。...例如,待机状态,售货机可能会显示一个欢迎界面,并等待用户选择商品;售卖状态,售货机会接受用户投币或刷卡,并出货商品;而在缺货状态,售货机可能会显示一个提示信息,告诉用户该商品暂时缺货。

6800

Activity基础篇

) 停止状态,此时activity被其他activity完全覆盖 销毁状态,此时activity将会被系统清理出内存 三.activity回调函数 android系统根据生命周期不同阶段唤起对应回调函数来执行代码...从activity最初调用onCreate()方法到最终调用onDestroy()方法整个过程称之为完整生命周期,onCreate()方法设置全局状态onDestroy()方法释放所有资源。...,查看日志 然后我们home返回到桌面 菜单键,选择回到刚才界面 返回键退出activity 九.如何创建一个activity 新建一个activity步骤如下 1)src中新建一个类继承...十.如何关闭一个activity 只要按返回键就可以销毁当前activity,但是假如我们希望通过代码方式来销毁activity,可以使用activity类提供finish()方法来实现。...十二.四种LaunchMode 史上最详细扔物线讲解Android 面试黑洞——当我 Home 键再切回来,会发生什么?

86820

Android设计应用图标不用愁---Asset Studio Integration来帮你

Android Asset StudioWeb版是一个非常好用Andrid图标资源设计工具,它是由RomanNurik开发。现在我们已经ADT14里支持同样功能。...然后,将会弹出“资源选择器”(这些资源其实就是你布局文件用到那些图片,比如对于上下文菜单自定义背景图片,就需要一个为“Background”属性设置一个@drawable引用)对话框,该对话框里有个按钮...使用Asset Studio一个优势就是在你点击完成按钮后,它可以直接在你当前项目中生成你设计图标。...它还会在图标名字冲突时候提示你是否覆盖原文件。如果你在上面的资源选择器界面里点击了“Create Icon”按钮,那么新创建图标将会在选择器里被选中。...请不要经常使用那个文本功能:(译者:最好使用Image和Clipart两个)-)我们还仍需要为AOSP贡献更多剪贴画,这样大家就可以向导里选择使用(译者:目前向导剪贴画只有一个,可以参见前面的图片

1.1K50

探究活动Activity(2)界面跳转及生命周期

()方法里面实例化一个按钮,通过按钮点击响应事件启动监听,监听方法onClick()里面实例化Intent。...2.1活动状态 活动有四种状态:运行状态、暂停状态、停止状态、销毁状态。 Activity类定义了7个回调方法,覆盖了活动生命周期每一个环节,下面详细介绍一这7个方法。...onDestroy() 这个方法活动被销毁之前调用,之后活动将变为销毁状态,此时活动处于销毁状态。...,就是指定按钮不同,及跳转页面不同而已,现在我们FirstActivity添加那些回调方法,然后Log日志打印,来看看它生命活动: 打开FirstActivity,图片如下: ?...注意看和刚才FirstActivity跳转SecondActivity所执行方法是一样,那么我们SecondActivity页面BACK键返回到FirstActivity和用页面按钮跳转会是一样

1K20

【译】正确使用FAB

Floating Action Button,简称FAB,作为材料设计(众多)独特UI元素之一,用于特定场景基本或有推动等作用行为。...**中心扩散水波反馈,不恰当标高,距屏幕右边距19dp,下边距22dp** ? **完美** ? **无水波反馈,无视图标高,由效果组成,距屏幕右边距和下边距24dp** ?...**不恰当视图标高,图标略微有点大** 正确FAB 所以,这个独具特色按钮材料设计规范是怎样呢?从上面的这些对照可以看出,Messenger可以说是最精准运用了FAB。 ?...The Right FAB 适当水波反馈(可以在按钮任意地方产生) 静止标高6dp,标高12dp(或者translationZ = 6dp) Action图标需要合适宽度(一般2dp画笔宽度...(正确把握设计细节,可以营造积极情绪状态,从而让产品更好用) 毕竟,作为把产品交付给用户负责人(设计师,工程师,或者团队任何一个人),如果你自己都不关心细节,谁又会去做这件事呢?

92710
领券