绘制可自由伸缩的输入框背景 用Photoshop为Android绘制输入框背景图效果: 简单的输入框制作过程 新建图层 快捷键cmd+shift+alt+N 选用圆角矩形工具画出输入框,填充白色 设置图层样式
用法 在不同情况下有很多可绘制的类型,设置按钮的状态行为,创建可伸缩的按钮背景和创建复合可绘制图层。...这用于创建一个复杂的形状,然后可以作为布局或视图的背景附加在屏幕上。例如,可以使用可绘制的形状来更改按钮背景的形状,边框和渐变。 一个形状只是一个属性的集合,被合并来描述一个背景。...形状可以用属性来描述,如圆角,背景渐变,间距填充,背景颜色固定,描边等。 纯色 Shapes 下面是一个绘制带有边框的圆角矩形的示例: <?...图层样式的常见用例包括: ① View边框阴影 ② View单边添加边框 ③ View分层背景 ④ View卡片背景 ⑤ 绘制三角形 举一个简单的例子,下面的图层列表绘制了几个相互关联的形状:...运行时Drawables 我们可以通过访问具有可绘制应用的视图的背景,在我们的Java代码的运行时访问drawable。
drawable/:位图文件(.png、.9.png、.jpg、.gif)或编译为以下可绘制对象资源子类型的 XML 文件: 位图文件、九宫格(可调整大小的位图)、状态列表、形状、动画可绘制对象、其他可绘制对象...mipmap/:适用于不同启动器图标密度的可绘制对象文件。应用图标放这里。 mipmap后面跟着的dpi类别,比如hdpi mdpi,里面的图标尺寸大小是不同的。...values/:包含字符串、整型数和颜色等简单值的 XML 文件。其他 res/ 子目录中的 XML 资源文件会根据 XML 文件名定义单个资源,而 values/ 目录中的文件可描述多个资源。...比如位图文件(.png、.9.png、.jpg、.gif);或一些可绘制对象资源子类型的 XML 文件(本文称为drawable文件)。...[1240] shape介绍 shape又称为“形状可绘制对象”。为了简便,以下都称作shape或者“shape文件”。 shape是一种在 XML 文件中定义的通用形状。
Android 开发中,遇到需要设置边框的情景,使用背景图来实现,代码如下: <item android:bottom="1dp" android:left="1dp" android:right...-- 边框里面背景颜色 白色 --> ...android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp"
需求 使用 xml drawable 实现"一个圆角矩形的背景图",支持 左下方和右下方圆角而左上和右上是直角 代码如下: <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">...-- 填充的颜色:这里设置背景透明 --> <corners android:bottomLeftRadius="10dp" android:bottomRightRadius...="10dp" android:right="10dp" android:top="10dp" />
原来 Android 8.0(API 级别 26)引入了自适应启动器图标,可以在不同设备模型中显示各种形状。下面看下官方酷炫动态图: ? ? 图1. 自适应图标支持各种设备之间不同的掩码。...可以通过定义 2 层来控制自适应启动器图标的外观,包括背景和前景。您必须提供图标图层作为可绘图,图标轮廓周围不能有蒙版或背景阴影。 ? 图2. 自适应图标使用 2 个图层和 1 个蒙版进行定义。...用 XML 创建自适应图标 我们首先创建一个 Sample 项目,如图: ? 比以往多一个 res/mipmap-anydpi-v26 文件,打开,有背景和前景。...ic_launcher_background.xml 然后清单使用android:icon 属性以指定可绘制资源,还可以使用该android:roundIcon 属性定义图标可绘制资源。
视图View的背景就是一个Drawable对象,在视图需要进行绘制而调用draw函数时,内部的一部分实现会将调用委托给背景属性mBackground这个Drawable对象的draw函数来完成背景的绘制...RotateDrawable 旋转可绘制类 这个可绘制类不支持代码建立,只支持XML文件构造。可以指定开始角度,结束角度,旋转的中心点。...下面是一个XML来设置旋转可绘制类的方法: <?xml version="1.0" encoding="utf-8"?...="50%" > ShapeDrawable 形状可绘制类。...一般用这个类来设置圆角按钮背景。 LayerDrawable 图层可绘制类。 用于重叠多个可绘制对象。这是一个容器可绘制类,里面可以添加多个子可绘制对象,每个子可绘制对象就是其中的一层。
三、按钮样式设置 每个按钮都使用系统的默认按钮背景进行样式化,如果您对默认按钮样式不满意,并且希望对其进行自定义以匹配应用程序的设计,那么您可以用可绘制的状态列表替换按钮的背景图像。...状态列表可绘制是在XML中定义的可绘制资源,它根据按钮的当前状态更改其图像。一旦定义了一个可以用XML绘制的状态列表,就可以将它应用到具有 android:background属性的按钮上。...1.设置背景图 方法一:在xml布局里直接设置背景图 ?...(this, R.mipmap.ic_launcher)); btnClickMe.setBackgroundResource(R.mipmap.ic_launcher); 2.设置背景色 方法一:在xml...:shape="rectangle" //样式为矩形(四个属性: rectangle矩形、 oval椭圆形、 line线性形状、 ring环形) solid:指定内部填充色 corners:定义圆角 (
过渡渲染示例 这是 Android 的设置界面 , 大部分是蓝色 , 或浅绿 , 浅红色只占很小的部分 ; 四、 背景过度绘制 ---- 1 ....背景设置 : ① 设置背景 : 设置了背景 , 图片或颜色值 , 绘制增加 1 次 ; ② 透明背景 : 背景透明 , 不增加绘制次数 , 绘制增加 0 次 ; ③ 主题背景 : 在主题中设置了背景..., 也会增加 1 次绘制 ; 如果同时设置布局的背景和主题背景 , 此时会绘制 2 次 ; 删除一次背景设置 , 这里建议删除主题的背景 ; 2 .... 在 AndroidManifest.xml 的 Activity 标签中设置该主题 , 即可取消该背景 ; <?...xml version="1.0" encoding="utf-8"?
第六章 资源管理 本章小结: 1、本单元学习目的 通过了解应用程序常用的各种资源,掌握资源的访问方法,以及两种设置界面外观的方式:样式(Style)和主题(Theme);对于可绘制资源,重点掌握三种Drawable...2、本单元学习要求 (1) 掌握各种资源的基本访问用法; (2) 掌握定制控件样式、界面主题、可绘制资源程序的编写方法; (3) 掌握原生资源打包方法。...难点 (1) 可绘制资源 Drawable代表了一大类资源。比如:图形、位图图像就是可绘制的资源。...下面主要介绍三种形状绘制资源:state list drawable、 shape drawable和layer list drawable。...可绘制资源的使用。 使用assets打包资源的方式。 2、本单元课后习题 1、如何打开res/raw目录中的数据库文件?
为了实现这个效果,主要拆解成几个部分:弹窗绘制、弹窗逻辑编写、弹窗动画 弹窗绘制 首先绘制三个弹窗中的按钮形状 button_circle3.xml 最后绘制弹窗框的形状 dialog_bk.xml <?...renling.class); startActivity(i); } }); } 弹窗动画 弹窗动画包括两部分,一个是弹窗的效果,即后面的背景变暗...-- 背景透明 --> @android:color/transparent <...android:fromYDelta="100%" android:toYDelta="0" /> actionsheet_dialog_out.xml <?
文章目录 一、 背景设置产生的过度绘制 二、 Android 系统的渲染优化 1. 透明组件数据传递 2. GPU 存储机制 3....Android 7.0 之后的优化机制 三、 自定义布局渲染优化 一、 背景设置产生的过度绘制 ---- 1....背景设置产生的过度绘制 : ① 组件背景 : 每个组件每设置一次背景 , 该组件的区域就会增加一层绘制 , 如 LinearLayout 线性布局设置背景颜色 , TextView 设置背景颜色 , 都会增加该组件区域内的过渡绘制...; ② 布局背景 : 布局文件总的背景 , 会增加一次 GPU 绘制 ; ③ 主题背景 : Activity 界面的主题背景 , 会增加一次 GPU 绘制 ; 2...., 设置一张图片 , 会增加一次绘制 , 如果再给该 ImageView 组件设置背景颜色 , 那么又会增加一次绘制 , 那么该 ImageView 组件肯定过渡绘制了 ; 二、 Android 系统的渲染优化
StateListDrawable资源,来提供不同的背景图片对于每一个状态。...,当组件的状态变更时,会自定向下遍历StateListDrawable对应的xml文件来查找第一个匹配的Item <?xml version="1.0" encoding="utf-8"?...ShapeDrawable(圆角) ShapeDrawable资源绘制一个特定的形状,比如矩形、椭圆等。...如果你想自己动态的绘制二位图形,那么我们就可以使用ShapeDrawable资源对象,用ShapeDrawable,我们可以绘制我们所能想象的形状。。...ShapeDrawable 被定义在一个XML文件中,以 元素起始。其内部的每一个Drawable资源内嵌在元素中 <?xml version="1.0" encoding="UTF-8"?
我们需要一个形状图层和一个显示图层。并且显示图层要全面覆盖形状图层。...--android:background="@drawable/bg_a"-- android:src="@drawable/c" / ①、这里的android:background定义的就是我们的形状图层...,它可以是一个xxx_shape.xml的布局文件,比如。...xml version="1.0" encoding="utf-8"?...也可以是 一个 图片(注意是xx.png,可包含透明像素,如) ?
/ 只需要给TextView设置背景即可,背景内容就为系统自带的selecttableItemBackground。这种是有界水波纹,就是水波纹会在TextView所在区域进行绘制。.../ 所谓的无界并非完全无界,而是以控件宽高中最大的数值作为水波纹效果所在正方形的边界进行绘制。OK,这两种都是系统自带的水波纹效果,如果我们想要自定义又该怎么做呢?...</ripple 在布局文件中将之引用为控件的背景: <TextView android:layout_width="match_parent" android:layout_height...带图片形状的水波纹 有的时候如果你希望水波纹不是长条形,又该如何呢?有两种解决方案,一种是使用图片,还有就是自定义shape,我们先来看看使用图片: <?...自绘形状的水波纹 自绘shape,来看一个圆角矩形: <?xml version="1.0" encoding="utf-8"?
/ 说明,这里的android:background定义的是控件的形状,比如上面的圆形和美女,你可用shape.xml定义形状图片。...xml version="1.0" encoding="utf-8"?...<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" <solid android...这里注意透明像素,还有为了图片缩放的时候不变形,建议背景(不管是图片还是图形)为正方形。...mPath.lineTo(width,height); mPath.lineTo(0,height); mPath.close(); canvas.drawPath(mPath, mPathPaint); 先对背景图形进行缩放再绘制到
学习Shape的用法 非著名程序员 在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状,shape可以绘制矩形环形以及椭圆,所以只需要用椭圆即可,在使用的时候将控件比如...例子如下: 1、画椭圆虚线边框背景,资源文件代码如下: <?xml version="1.0" encoding="utf-8"?...="2dp" android:color="@color/ellipse_dashed_line_color" /> 2、画实线透明边框背景,资源文件代码如下: 3、画实线填充颜色边框背景,资源文件代码如下: <?
Android XML绘图 XMl在Android中可不仅仅是一个布局文件、配置列表。它甚至可以变成一张画、一张图。...line: 线形,可以画实线和虚线 ring: 环形,可以画环形进度条 通过shape可以在XML中绘制任何形状,下面展示了Shape所支持的参数 "http://schemas.android.com...右上角的半径 android:bottomLeftRadius 左下角的半径 android:bottomRightRadius 右下角的半径 stroke: 设置描边,可描成实线或虚线。...---- Tab背景的代码: 第一种实现方式: bg_tab_selector.xml <selector xmlns:android="http://schemas.android.com/apk...举个例子,一个按钮的背景,默认时是一个形状,按下时是一个形状,不可操作时又是另一个形状。有时候,不同状态下改变的不只是背景、图片等,文字颜色也会相应改变。
也就是说,我们在设计应用图标的时候,需要将前景和背景部分分离,前景用来展示应用图标的Logo,背景用来衬托应用图标的Logo。需要注意的是,背景层在设计的时候只允许定义颜色和纹理,但是不能定义形状。...不过考虑到它们都是只在国内市场提供服务,因此也情有可原。...接下来打开AndroidManifest.xml文件,代码如下所示: <manifest xmlns:android="http://schemas.android.com/apk/res/android...xml version="1.0" encoding="utf-8"?...那么我们分别来看一下背景层和前景层分别都是些什么内容吧,首先打开ic_launcher_background文件,内容如下图所示: ? 这是一个使用SVG格式绘制出来的带纹理的底图。
Button,TextView背景设置 如何给按钮增加动感? Button 有按下(pressed)和未按下之分,我们可给这 2 种状态不同的背景颜色和文字颜色。...> 设置Button背景 在layout中设置背景。...selector介绍 StateListDrawable 是在 XML 文件中定义的可绘制对象,它会根据对象状态,使用多个不同的图像来表示同一个图形。...例如,Button 微件可以是多种不同状态(按下、聚焦或这两种状态都不是)中的其中一种,并且可利用状态列表可绘制对象,为每种状态提供不同的背景图片。 可以在 XML 文件中描述状态列表。...每个 均使用各种属性来描述应用作可绘制对象的图形的状态。
领取专属 10元无门槛券
手把手带您无忧上云