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

Android为按钮添加边框而不丢失材料主题(使用drawable)

在Android中,我们可以使用drawable资源来为按钮添加边框而不丢失材料主题。Drawable是一种可绘制的资源,可以用于定义按钮的外观和样式。

要为按钮添加边框,我们可以创建一个drawable资源文件,然后在其中定义边框的样式。以下是一个示例:

  1. 首先,在res目录下的drawable文件夹中创建一个新的drawable资源文件,例如button_border.xml。
  2. 打开button_border.xml文件,并添加以下内容:
代码语言:txt
复制
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@android:color/transparent" /> <!-- 设置背景为透明 -->
    <stroke
        android:width="2dp" <!-- 设置边框宽度 -->
        android:color="@color/border_color" /> <!-- 设置边框颜色 -->
    <corners android:radius="4dp" /> <!-- 设置圆角半径 -->
</shape>

在上面的示例中,我们使用了shape元素来定义一个形状。solid元素用于设置背景颜色为透明,stroke元素用于定义边框的宽度和颜色,corners元素用于设置圆角半径。

  1. 然后,在布局文件中使用这个drawable资源作为按钮的背景,例如:
代码语言:txt
复制
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="按钮"
    android:background="@drawable/button_border" />

在上面的示例中,我们将android:background属性设置为我们创建的drawable资源文件button_border

这样,按钮就会显示一个带有边框的效果,而不会丢失材料主题。

推荐的腾讯云相关产品:腾讯云移动应用托管(Mobile Application Hosting),它提供了一站式的移动应用托管服务,帮助开发者快速构建、部署和运营移动应用。了解更多信息,请访问腾讯云移动应用托管产品介绍页面:https://cloud.tencent.com/product/mapp

请注意,以上答案仅供参考,具体的技术实现和推荐产品可能因个人需求和偏好而有所不同。

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

相关·内容

AndroidDrawable 详解

使用纯色形状和渐变,我们可以自定义按钮,布局和其他视图的外观,不需要使用任何图片。请注意,可以使用PathShape和ArcShape在运行时创建自定义形状。...你的PNG文件只需保存在drawable文件夹中以.9.png扩展名,即可显示9-patch编辑器,不是普通的图像编辑器。...现在,让我们将自己的样式添加到ListView。让我们添加一个默认的渐变和一个按下的渐变,改变项目之间的分隔线颜色,并在ListView周围添加一个边框。...中使用一个Shape drawable设置ListView的边框: <?...其优点是根据当前主题使用的图像风格。例如,在Twitter最近的Android UI更新中,大多数图像以黑色的形式存储vector drawables: ?

5.4K50

探索 Android Design Support Library v28 新增内容

" app:icon="@drawable/ic_android_white_24dp" /> 默认情况下, 此类将使用主题的 accent colour 填充按钮的背景颜色, 同时使用白色作为按钮的文字颜色...如果该按钮未被填充, 则主题的 accent colour 将作为按钮的文本颜色, 透明背景色....如果我们希望自己添加一些更高级的样式, 那么我们可以通过使用 MaterialButton 样式中的一组属性来完成此操作. app:icon: 用于定义在按钮开始时显示的 drawable ?...app:rippleColor: 使用此颜色定义按钮的水波纹效果的颜色 app:backgroundTint: 用于给按钮的背景着色.如果你想要改变按钮的背景颜色, 使用这个属性不是 background...如果的确如此, 你可以使用如下的 ChipGroup 本身的属性子 Chip 视图添加一些间距: app:chipSpacing: 在横纵轴方向均添加间距 app:chipSpacingHorizontal

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

    比如:添加一个定制的按钮样式,设置不同的文本颜色和背景颜色。 \res\values\styles.xml 定义好样式以后,就可以在布局文件的按钮定义中使用新的样式。...在按钮的属性里设置style属性值定制按钮样式。按钮就会按照定义的文本和背景颜色来显示。...主题样式继承了具有深色工具栏的浅色主题。接着通过标签可以添加自定义的属性值,或是覆盖父主题的某些属性值。在这里增加了三个颜色属性。colorPrimary属性主要用来设置工具栏背景色。...它会根据按钮的状态来切换使用不同的样式(指向不同的drawable)来呈现动态的效果。...在标签中设置state_pressed,当按钮的压下状态真时,就选择使用round_button_pressed样式文件;否则使用round_button_normal样式文件。

    9310

    再不迁移到Material Design Components 就out啦

    使用AppCompat主题,设计支持库中的小部件(包括具有自定义背景的按钮)以及需要迁移的各种其他元素。...我们的当前主题中可能是丢失了一些重要的 MDC 属性,同时有一些重要的 AppCompat 或者原有属性(android:xxx)不再需要。...要恢复旧的文本字段可以在布局中添加样式 <com.google.android.material.textfield.TextInputLayout ... + style="@style...*主题尽最大努力向后兼容他们,例如小部件,这些旧属性。 ?attr/colorSecondary 但是,您应该考虑推荐使用这些属性。...它可以处理形状主题、阴影、黑色主题等等。 因此。我们建议使用 android:background 作为 MDC 控件的背景。因为它会覆盖 MaterialShapeDrawable。

    3.2K30

    Android5.0新特性-Material Design

    大色块的使用 Material Desigin中运用了大量高度饱和、适中亮度的大色块来突出界面的主次,并一扫Android4.X系列Holo主题的沉重感,让界面更加富有时尚感和视觉冲击力 此外还有很多新的设计风格...,如悬浮按钮,聚焦大图、无框按钮、波纹效果等新特性 具体可参考 http://www.google.com/design/#resources 材料设计能做哪些工作 保证向后的兼容性 使用材料设计的主题...通过如下代码,可以通过使用自定义Style的方式来创建自己的Color Palette 颜色主题,从而实现不同的颜色风格。...影响视图阴影的因素 以往的Android View通常有2个属性——X和Y,而在Android5.X中,Google其增加了一个新的属性 —Z,对应垂直方向上的高度变化。...资源 矢量drawable资源 在Android使用SVG矢量图 SVG设计器 实现SVG矢量动画 APP的兼容性

    58620

    1.ActionBar

    Activity自带actionBar 2.从Android3.0(APIlever11)开始,所有使用Theme.Holo主题(或者它的子类)的activity都包含了actionbar,当 targetSdkVersion...所以,你的activity添加actionbar,只需简单地设置属性11或者更大。 常用操作: 搜索  Actionbar允许你当前上下文中最重要的操作添加按钮。...1.所有的操作按钮和actionoverflow中其他可用的条目都被定义在菜单资源的XML文件中。通过在项目的res/menu目录中 新增一个XML文件来actionbar添加操作。...  在不是主要入口的其他所有屏中(activity位于主屏时),需要在actionbar中用户提供一个导航到逻辑父屏的up button(向上按钮)。...android:drawable="@drawable/tab_selected_pressed" />  2  实现自定义主题 (想改的话改图片就行了) <?

    93550

    1.ActionBar

    Activity自带actionBar 2.从Android3.0(APIlever11)开始,所有使用Theme.Holo主题(或者它的子类)的activity都包含了actionbar,当 targetSdkVersion...或minSdkVersion属性被设置成“11”或更大时,它是默认主题。...所以,你的activity添加actionbar,只需简单地设置属性11或者更大。 常用操作: 搜索 Actionbar允许你当前上下文中最重要的操作添加按钮。...1.所有的操作按钮和actionoverflow中其他可用的条目都被定义在菜单资源的XML文件中。通过在项目的res/menu目录中 新增一个XML文件来actionbar添加操作。...在不是主要入口的其他所有屏中(activity位于主屏时),需要在actionbar中用户提供一个导航到逻辑父屏的up button(向上按钮)。

    58910

    Android Material UI控件之MaterialButton

    Android Material UI控件之MaterialButton 前言   作为Android的开发者,常用控件肯定少不了按钮控件,常规的按钮控件,只能满足基本需求,日常开发中,都会有渐变按钮...你会创建很多这样的drawable文件,并且每一个你还要命名规范,改起来是很费劲的。MaterialButton就很好的帮你解决这些问题。让你的UI开发变得轻松一些。...添加依赖   在你的app下的build.gradle中的dependencies闭包中增加如下依赖,然后Sync同步一下,你就可以名正言顺的使用里面的组件了。...所以我得出一个结论,那就是当你的按钮又要圆角又要渐变时,你最好使用普通的按钮来实现,因为你已经自己写了一个drawable了,所以MaterialButton也就没有用的必要了。...因为这个描边是内外描边,如果不加这个1dp的填充,会出现上下按钮最边缘出描边宽度一半的切割,我之前在低版本的Android手机上就是这样写的,不过在Android11中好像修复了这个问题,我设置padding

    3.3K20

    Android入门教程 | res资源目录简介与shape的绘制和使用

    如果要添加一些图片,可以直接放进drawable目录。 修改应用图标,应该放进mipmap对应的目录。例如mipmap-hdpi里的图标是72x72像素的,mipmap-mdpi是48x48像素的。...另一种办法是使用xml格式的资源文件。 本文要介绍的是shape。使用这类资源,可以完成一些比较简单的美术设计。 例子 接下来我们新建一个shape试试,要求带有外围边框,有圆角,里面用渐变色填充。...其中 android:shape="rectangle"表示的是选择长方形的形状。 stroke标签代表的是边框。里面设定边框宽度是2dp,边框颜色是#0E30B1。...如果设置,则默认为直角。这里我们设定圆角的半径6dp。 gradient表示渐变色。分别可以设置起始,中间和结束的颜色值。...,我们可以自己实现一些简单的按钮效果。

    1.5K20

    Android Studio自动提取控件Style样式教程

    如果你用的很多, 也可以为它设置快捷键: 打开Android Studio设置页面, 在Keymap中搜索extract, Style就是了, 然后右键单击Style 添加快捷键 ?...然后就快捷键, 愉快的玩耍了 补充知识:Android Studio Button 美化 改变按钮Button控件的边角、填充颜色、边框颜色。...步骤: 在 res drawable 中新建一个 btn_all_shape.xml : <?xml version="1.0" encoding="utf-8"?...-- 设置边框颜色 -- <stroke android:width="2dp" android:color="@color/white"/ </shape 在要改变的按键的xml中添加这一句...: android:background=”@drawable/btn_all_shape” 以上这篇Android Studio自动提取控件Style样式教程就是小编分享给大家的全部内容了,希望能给大家一个参考

    1.1K20

    Android Button修改背景颜色及实现科技感效果

    效果展示 Android Button修改背景颜色及实现科技感效果效果如下: 实现科技感效果 操作方法如下: 想要创建一个富有科技感的按钮样式时,可以使用 Android 的 Shape Drawable...> 在上述示例中,我们使用了 selector 标签来定义不同状态下的按钮样式。...首先,在按下按钮时(android:state_pressed="true"),我们使用一个矩形的 ShapeDrawable,设置填充颜色 #FF3366,并且添加了圆角效果。...然后,对于按钮的默认状态,我们使用了一个矩形的 ShapeDrawable,设置了渐变背景颜色(从 #FF6699 到 #FF3366),并且同样添加了圆角效果。...:textAllCaps="false" /> 这是由于在Android4.1之后的开发中创建的Button是Material类型的,默认使用主题色的,所以我们需要替换主题色或者使用

    98920

    Android | Compose 初上手

    申明性编程范式 长期以来,android 的视图结构一直可以表示界面微件数。...这意味着,他可以跳过某些内容以重新运行单个按钮的可组合项,执行树中其上面或下面的任何可组合项。 每个可组合函数和 lambda 都可以自行重组。...第二种需要自己创建一个笔刷,去绘制外边框,例如要实现渐变的外边框。 colors 按钮的颜色,默认是 ButtonDefaults.buttonColors() 。...2") } 复制代码 OutLinedButton 具有外边框按钮,内部使用的也是 Button。...默认会有一个边框,其参数和 Button 一致,效果如下 image.png TextButton 默认的 button 在有主题的时候,默认背景是主题颜色, textButton 背景默认是透明的

    5.3K20
    领券