使用纯色形状和渐变,我们可以自定义按钮,布局和其他视图的外观,而不需要使用任何图片。请注意,可以使用PathShape和ArcShape在运行时创建自定义形状。...你的PNG文件只需保存在drawable文件夹中以.9.png为扩展名,即可显示9-patch编辑器,而不是普通的图像编辑器。...现在,让我们将自己的样式添加到ListView。让我们添加一个默认的渐变和一个按下的渐变,改变项目之间的分隔线颜色,并在ListView周围添加一个边框。...中使用一个Shape drawable设置ListView的边框: 主题使用的图像风格。例如,在Twitter最近的Android UI更新中,大多数图像以黑色的形式存储为vector drawables: ?
" 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
前言 Android使用XML的时候,实现圆角和边框都是使用背景实现的。 如果需要剪裁成圆角,则可以使用CardView实现。...此外,将 cardUseCompatPadding 设置为 false 可以消除由于阴影而产生的额外内边距,使 CardView 边缘更加紧凑。...-- 边框颜色 --> 按钮背景 按钮可以使用selector设置点击和非点击使用不同的背景 android:drawable="@drawable/rounded_border_background2"/> 添加drawable-v21文件夹 只有21版本之后才支持涟漪效果...-- 顶层 --> android:drawable="@drawable/bg_gradient_ripple_effect"/> 添加一个涟漪效果的XML
且主题影响的应该是窗口的标题、边框等属性: android:windowFullscreen">true元素下添加android:theme="@style/my_theme">即可。 --以上:第一部分-- 图片资源 图片资源可谓是最简单的drawable资源。...如果想要在java代码中访问到实际的图片Drawable对象,而不是R类中int类型的索引,可以利用Resources类提供的```Drawable getDrawable(int id)方法。...为避免缩放列表中的项目,请在 元素内使用 元素指定可绘制对象,并且对某些不缩放的项目(例如 "center")定义重力。...StaleListDrawable命名为bn_state_list,使引用它的按钮在不可使用时背景色变黑: <?
app属性,则需要在根容器中添加这个属性。 ...xmlns:app="http://schemas.android.com/apk/res-auto" 属性介绍: 1、app:borderWidth=""------------------边框宽度,...通常设置为0 ,用于解决Android 5.X设备上阴影无法正常显示的问题 2、app:backgroundTint=""---------------按钮的背景颜色,不设置,默认使用theme中colorAccent...,按钮边缘阴影的宽度,通常设置比elevation的数值大 另外我们希望点击按钮一个颜色,正常状态一个颜色 以提高用户体验,那么就是drawable文件夹中创建文件 floatbutton.xml 然后我们设置FloatActionButton的backgroud为这个drawable文件即可,同时app:backgroundTint=""属性也可以不再设置
比如:添加一个定制的按钮样式,设置不同的文本颜色和背景颜色。 \res\values\styles.xml 定义好样式以后,就可以在布局文件的按钮定义中使用新的样式。...在按钮的属性里设置style属性值为定制按钮样式。按钮就会按照定义的文本和背景颜色来显示。...主题样式继承了具有深色工具栏的浅色主题。接着通过标签可以添加自定义的属性值,或是覆盖父主题的某些属性值。在这里增加了三个颜色属性。colorPrimary属性主要用来设置工具栏背景色。...它会根据按钮的状态来切换使用不同的样式(指向不同的drawable)来呈现动态的效果。...在标签中设置state_pressed,当按钮的压下状态为真时,就选择使用round_button_pressed样式文件;否则使用round_button_normal样式文件。
:drawable 放一个drawable资源 android:state_pressed 按下状态,如一个按钮触摸或者点击。...android:state_enabled 能够接受触摸或者点击事件 注:上述所有属性的取值 = boolean属性 = true、false 4.3 实例说明 在drawable添加 selector.xml...-- 指定按钮按下时的图片 --> android:state_pressed="true" android:drawable="@drawable/start_down...-- 指定按钮松开时的图片 --> android:state_pressed="false" android:drawable="@drawable/start" />...布局形状(Shape) 作用:设置布局的颜色、边框线 使用:通过 xml编写 = shape.xml 具体使用 android="http://schemas.android.com
它使用AppCompat主题,设计支持库中的小部件(包括具有自定义背景的按钮)以及需要迁移的各种其他元素。...我们的当前主题中可能是丢失了一些重要的 MDC 属性,同时有一些重要的 AppCompat 或者原有属性(android:xxx)不再需要。...要恢复为旧的文本字段可以在布局中添加样式 android.material.textfield.TextInputLayout ... + style="@style...*主题尽最大努力向后兼容他们,例如小部件,这些旧属性。 ?attr/colorSecondary 但是,您应该考虑不推荐使用这些属性。...它可以处理形状主题、阴影、黑色主题等等。 因此。我们不建议使用 android:background 作为 MDC 控件的背景。因为它会覆盖 MaterialShapeDrawable。
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 实现自定义主题 (想改的话改图片就行了) <?
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(向上按钮)。
Android Material UI控件之MaterialButton 前言 作为Android的开发者,常用控件肯定少不了按钮控件,常规的按钮控件,只能满足基本需求,而日常开发中,都会有渐变按钮...你会创建很多这样的drawable文件,并且每一个你还要命名规范,改起来是很费劲的。而MaterialButton就很好的帮你解决这些问题。让你的UI开发变得轻松一些。...添加依赖 在你的app下的build.gradle中的dependencies闭包中增加如下依赖,然后Sync同步一下,你就可以名正言顺的使用里面的组件了。...所以我得出一个结论,那就是当你的按钮又要圆角又要渐变时,你最好使用普通的按钮来实现,因为你已经自己写了一个drawable了,所以MaterialButton也就没有用的必要了。...因为这个描边是内外描边,如果不加这个1dp的填充,会出现上下按钮最边缘出描边宽度一半的切割,我之前在低版本的Android手机上就是这样写的,不过在Android11中好像修复了这个问题,我不设置padding
大色块的使用 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的兼容性
如果要添加一些图片,可以直接放进drawable目录。 修改应用图标,应该放进mipmap对应的目录。例如mipmap-hdpi里的图标是72x72像素的,mipmap-mdpi是48x48像素的。...另一种办法是使用xml格式的资源文件。 本文要介绍的是shape。使用这类资源,可以完成一些比较简单的美术设计。 例子 接下来我们新建一个shape试试,要求带有外围边框,有圆角,里面用渐变色填充。...其中 android:shape="rectangle"表示的是选择长方形的形状。 stroke标签代表的是边框。里面设定边框宽度是2dp,边框颜色是#0E30B1。...如果不设置,则默认为直角。这里我们设定圆角的半径为6dp。 gradient表示渐变色。分别可以设置起始,中间和结束的颜色值。...,我们可以自己实现一些简单的按钮效果。
()、图片.ofImage()、视频.ofVideo()、音频.ofAudio() .theme()//主题样式(不设置为默认样式) 也可参考demo values/styles下 例如:R.style.picture.white.style.../ 裁剪框是否可拖拽 true or false .circleDimmedLayer()// 是否圆形裁剪 true or false .showCropFrame()// 是否显示裁剪矩形边框...使用非常简单,你想要的基本上都有 package com.yechaoa.pictureselectordemo; import android.Manifest; import android.annotation.SuppressLint...; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.ColorDrawable...} }); } }; private void showAlbum() { //参数很多,根据需要添加
注意:如果使用一个主题(theme)来移除Activity上得ActionBar,那么窗口将不再会有ActionBar,因此在运行时也就没有办法来添加ActionBar——调用getActionBar(...而Android官方更加推荐使用ActionBar中提供的Tabs功能,因为它更加的智能,可以自动适配各种屏幕的大小。...比如说,在平板上屏幕的空间非常充足,Tabs会和Action按钮在同一行显示,如下图所示: 而如果是在手机上,屏幕的空间不够大的话,Tabs和Action按钮则会分为两行显示,如下图所示: 下面我们就来看一下如何使用...使用主题 Android中有两个最基本的Activity主题可以用于指定ActionBar的颜色,分别是: Theme.Holo,这是一个深色系的主题。...使用深色系的主题,而Activity的内容部分仍然使用浅色系的主题,可以通过声明Theme.Holo.Light.DarkActionBar这个主题来实现,效果如下图所示: 2.
在Android中以9.PNG格式的图片未背景,则能够自定义拉伸而不失真,比如系统的Button就是一个典型的例子。...默认的拉伸是整体拉伸,其实边框部分我们并不想拉伸,好,我们自己来定义拉伸区域,如下图: ? ? 然后点击File,导出为content.9.png。...="@drawable/content" android:textColor="#000" /> 如图, ?...可以看出,边框非常的清晰。下图是未使用.9.PNG的对比图,而且也不是我们要的效果: ? 到这里为止,我们已经基本会制作.9.PNG图片了。为了知识体系的全面性和深入性,我们继续。...赏图2 下拉按钮 ? 赏图3 文章头部背景 ? 赏图4 系统头部背景 ?
效果展示 Android Button修改背景颜色及实现科技感效果效果如下: 实现科技感效果 操作方法如下: 想要创建一个富有科技感的按钮样式时,可以使用 Android 的 Shape Drawable...> 在上述示例中,我们使用了 selector 标签来定义不同状态下的按钮样式。...首先,在按下按钮时(android:state_pressed="true"),我们使用一个矩形的 ShapeDrawable,设置填充颜色为 #FF3366,并且添加了圆角效果。...然后,对于按钮的默认状态,我们使用了一个矩形的 ShapeDrawable,设置了渐变背景颜色(从 #FF6699 到 #FF3366),并且同样添加了圆角效果。...:textAllCaps="false" /> 这是由于在Android4.1之后的开发中创建的Button是Material类型的,默认使用主题色的,所以我们需要替换主题色或者使用非
="5dp"> 主题设置 边框theme--> android:style/Theme.Dialog"> 边框--> android:windowFrame">@null android:backgroundDimEnabled">true 直接使用 //对于对话框来讲,方便的还是...(R.layout.popup_change_ip); //设置对话框的样式为圆角,角边有弧度。
举几个例子吧: 每个页面标题栏的标题基本会有一样的字体大小、颜色、对齐方式、内间距、外间距等,这就可以定义成样式; 很多按钮也都使用一致的背景、内间距、文字颜色、文字大小、文字的对齐方式等,这也可以定义成样式...用个实例说明具体的用法吧,以下代码为Android 5.0系统默认的按钮样式: 为10或以下 themes_holo.xml:从API level 11添加的主题 themes_device_defaults.xml:从API level 14添加的主题...themes_material.xml:从API level 21添加的主题 themes_micro.xml:应该是用于Android Wear的主题 themes_leanback.xml: 还不清楚什么用...不过这也会导致一个问题,不同版本的系统使用不同主题,就会出现不同的体验。因此,为了统一用户体验,最好还是自定义主题。
领取专属 10元无门槛券
手把手带您无忧上云