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

常用控件之Button详解

前言 小伙伴们肯定都有在玩儿一些游戏,比如和平精英,在界面上展示的名字,其实就是Android中咱们上一篇介绍到的TextView控件。..., RadioButton, Switch, ToggleButton 二、典型点击用法如下 Button是Android中一个非常简单的控件,在我们平时的项目中,可以说是非常的常见,使用率也是相当高。...:onClick属性为 XML布局中的按钮分配一个方法,而不是对Activity中对按钮实现onClickListener。...三、按钮样式设置 每个按钮都使用系统的默认按钮背景进行样式化,如果您对默认按钮样式不满意,并且希望对其进行自定义以匹配应用程序的设计,那么您可以用可绘制的状态列表替换按钮的背景图像。...状态列表可绘制是在XML中定义的可绘制资源,它根据按钮的当前状态更改其图像。一旦定义了一个可以用XML绘制的状态列表,就可以将它应用到具有 android:background属性的按钮上。

1.4K10

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

R类是自动生成的。代表resources。 分组资源类型 将各类资源放入项目 res/ 目录的特定子目录中。 子目录的名字特别重要。我们把不同的资源放到不同的子目录中。...drawable/:位图文件(.png、.9.png、.jpg、.gif)或编译为以下可绘制对象资源子类型的 XML 文件: 位图文件、九宫格(可调整大小的位图)、状态列表、形状、动画可绘制对象、其他可绘制对象...mipmap/:适用于不同启动器图标密度的可绘制对象文件。应用图标放这里。 mipmap后面跟着的dpi类别,比如hdpi mdpi,里面的图标尺寸大小是不同的。...最开始阶段,我们接触比较多的是layout目录。如果要添加一些图片,可以直接放进drawable目录。 修改应用图标,应该放进mipmap对应的目录。...[1240] shape介绍 shape又称为“形状可绘制对象”。为了简便,以下都称作shape或者“shape文件”。 shape是一种在 XML 文件中定义的通用形状。

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Android 应用开发】Paint 渲染 之 BitmapShader 位图渲染 ( 渲染流程 | CLAMP 拉伸最后像素 | REPEAT 重复绘制图片 | MIRROR 绘制反向图片 )

    ) ( 2 ) 位图渲染 REPEAT 拉伸 代码示例 及 效果 ( 绘制超出图片边界时, 就会绘制 同样的图片 填充剩余部分 ) ( 3 ) 位图渲染 MIRROR 拉伸 代码示例 及 效果 ( 在垂直和水平方向绘制图片的对应方向的反向图片...: ① Shader.TileMode.CLAMP : 如果绘制的位置超出了图像的边界, 那么超出部分 使用最后一个像素的颜色值绘制 ; ② Shader.TileMode.REPEAT : 绘图位置超出了边界...(true) ; 7.绘制矩形 : 调用 Canvas 的 drawRect 的方法, 绘制矩形, 位图在该矩形中绘制; canvas.drawRect(new Rect(0,0 , 100, 100)...创建位图渲染对象, 并设置拉伸方式, 此处设置Shader.TileMode.CLAMP, // 如果绘制的位置超出了图像的边界, 那么超出部分 使用最后一个像素的颜色值绘制...拉伸 代码示例 及 效果 ( 在垂直和水平方向绘制图片的对应方向的反向图片 ) MIRROR 拉伸 : 1.MIRROR 说明 : 在创建 BitmapShader 的时候, 设置其 水平 和 垂直方向的

    1.7K10

    【Android】Android对于Activity的运用以及ViewGroup和 用户界面组件在项目中的运用

    Activity 确保无论系统从哪个任务启动活动,都只会创建一个活动实例并将其添加到新任务堆栈的顶部,也就是说,该实例启动的其他活动将自动在另一个任务中运行。...:id/progress" android:drawable="@mipmap/ic_rating_on1" /> 总结三者之间的关系:一个牵强的比喻:我们可以分别称这三类...:画家、画布和用画笔画的东西;艺术家用画笔(LayoutInfector.infalte)绘制一个图案,然后在画布上绘制(addView)!...在Android APP中,所有用户界面元素都由View和ViewGroup对象组成。视图是用户在屏幕上绘制时可以与之交互的对象。...每个ViewGroup都是用于组织子视图的不可见容器。其子视图可以是在UI上绘制区域的输入控件或小部件。

    69120

    TextView属性和方法大全

    ) 在文本框内文本的底端绘制指定图像 android:drawableEnd 在文本框内文本的结尾处绘制指定图像 android:drawableLeft setCompoundDrawablesWithIntrinsicBounds...(Drawable, Drawable, Drawable, Drawable) 在文本框内文本的左边绘制指定图像 android:drawablePadding setCompoundDrawablesWithIntrinsicBounds...(Drawable,Drawabl,Drawabl,Drawabl) 在文本框内文本的右边绘制指定图像 android:drawableStart setCompoundDrawablesWithIntrinsicBounds...(Drawable,Drawabl,Drawabl,Drawabl) 在文本框内文本的开始处绘制指定图像 android:drawableTop setCompoundDrawablesWithIntrinsicBounds...(Drawable,Drawabl,Drawabl,Drawabl) 在文本框内文本的顶端绘制指定图像 android:editable 设置该文本是否允许编辑 android:ellipsize setEllipsize

    2.1K50

    Android应用图标微技巧,8.0系统中应用图标的适配

    当时苹果的工程师写出了一套绝妙的算法,可以在电脑上绘制出圆和椭圆,所有观看者都被震惊了,除了乔布斯,因为乔布斯觉得圆和椭圆虽然也不错,但是如果能绘制出带圆角的矩形就更好了。...终于在Android 8.0系统中,Google下定决心要好好整治一下Android应用图标的规范性了,今天我们就来学习一下。...由此可以看出,爱奇艺和饿了么这两款应用都是没有在Pixel上进行兼容性测试的。不过考虑到它们都是只在国内市场提供服务,因此也情有可原。..." } } 可以看到,这里我在创建新项目的时候默认targetSdkVersion就是26,如果你是低于26的话,说明你的Android SDK有些老了,最好还是更新一下。...SVG格式的图片都是使用AI、PS等图像编辑软件制作之后导出的,基本没有人可以手工编写SVG图片。

    1.9K20

    Android 8.0 自适应图标

    项目中遇到一个问题,Android 8.0 系统上 APP 的 icon 显示的是默认的机器人的 icon,这是什么回事?...原来 Android 8.0(API 级别 26)引入了自适应启动器图标,可以在不同设备模型中显示各种形状。下面看下官方酷炫动态图: ? ? 图1. 自适应图标支持各种设备之间不同的掩码。...在 Android 7.1(API级别25)及更早版本中,启动器图标大小为 48 x 48 dp。必须使用以下准则来调整图标图层的大小: 两层的尺寸必须为 108 x 108 dp。...注意: 如果您没有使用必要的图层更新启动器图标,则该图标与系统 UI 显示的其他图标看起来不一致,并且不支持视觉效果。 用 XML 创建自适应图标 我们首先创建一个 Sample 项目,如图: ?...adaptive-icon> 然后清单使用android:icon 属性以指定可绘制资源,还可以使用该android:roundIcon 属性定义图标可绘制资源。

    2.8K100

    Flutter 旋转轮

    自旋轮有一些功能: 自动播放(启用/禁用) 长按以暂停(启用/禁用) 尺寸调整 文字/图片支持 图像调整支持 顺时针和逆时针平移进行导航 触摸即可在先前平移的方向上导航 绘画定制以改变外观 回调功能通知选定的项目...**hideOthers:**此属性用于确定是否应绘制快门以隐藏除选定以外的所有选项。 **shutterPaint:**如果适用,此属性用于绘制用于绘制快门的设置。此外,它是可定制的。...**在此构建器中,我们将添加itemCount和itemBuilder。在itemBuilder中,我们将导航容器小部件。在小部件内,我们将添加一个边距,即容器的高度。...他的子属性,我们将添加一个列小部件。在此小部件中,我们将添加两个文本,分别是问题和答案。...在此程序包中,我们将添加」size」表示将在其上绘制圆形微调器的正方形,「item」表示将在微调器上显示该大小。

    8.9K20

    Android自定义View之仿QQ未读消息拖拽效果

    } 18 return r; 19 20 21 } 最后在onDraw方法里,添加计算变化中心圆的半径即可: 1 //绘制方法 2 protected void onDraw...距离限制 下面增加拖拽距离限制,当拖拽距离大于给定的距离时,中心圆就会消失,逻辑很简单,也就是在onTouchEvent里的ACTION_MOVE,计算两个圆的拖拽距离,如果超出给定的拖拽距离,就不绘制贝塞尔曲线和中心固定圆...explodeImage; 11复制代码并在init初始化方法里添加对这爆炸图像: 12 //添加爆炸图像 13 explodeImage = new ImageView(...4 添加到ListView 4.1 添加到WindowManager 上面所实现的效果还远远不够,怎么像QQ那样,在ListView或者Recycleview里小圆点能自由在屏幕内拖拽呢?...,范围外拖拽)的逻辑和爆炸逻辑,主要代码在BetterRedPointViewControl中 1public class BetterRedPointViewControl implements View.OnTouchListener

    1.9K20

    Android实现轮播图点击图片放大效果

    实现步骤: 1.效果图的展示 2.项目中添加相关的依赖 3.主界面实现轮播图的效果 4.点击轮播图进入图片放大展示页面 5.图片放大展示页面所需的适配器 6.获取fragment需要展示图片的...url 7.图片缩放时遇到Bug解决 实现过程: 1.效果图的展示 QQ图片20190822093116.gif 2.项目中添加相关的依赖 implementation 'com.youth.banner...)//加载过程中图片未显示时显示的本地图片 // .error(R.mipmap.ic_launcher)//加载异常时显示的图片 //....centerCrop()//图片图填充ImageView设置的大小 // .fitCenter()//缩放图像测量出来等于或小于ImageView的边界范围,该图像将会完全显示....into(mPhotoView); return view; } } 7.图片缩放时遇到Bug解决 在测试的过程中,对放大的图片进行缩放的时候

    3.6K20

    Android 正 N 边形圆角头像的实现

    在讲解之前,让我们先来看一下怎样使用我们的控件 老规矩,在讲解怎样实现以前,我们先一起来看一下怎样使用我们的自定义控件。...onDraw 方法,将其绘制出来 ---- 怎样绘制正 N 边形 这里的思想主要来自该博客 如何用Canvas画一个正多边形 数学原理分析 首先,我们先来看一张图片 ?...我们假设我们的圆形坐标是 (0,0), 但实际上并不是,实际上在 Android 中我们的圆心坐标是 (width/2,height/2)。...N 边形 这个问题我一开始的思路是根据圆形的半径,然后计算出各个点的坐标,接着使用 path 中的 addArc() 方法来绘制。..., 使用 Paint 的 Xfermode 实现 第二种方法:直接绘制 Path; 那时候项目比较赶,采用的是第一种方式实现。

    1.3K10

    Android实现滑块拼图验证码功能

    滑块拼图验证码应该算是很常见的功能了,验证码是可以区分用户是人还是机器。可以防止破解密码、刷票等恶意行为。本文将介绍Android拼图滑块验证码控件的实现过程。希望能帮助到大家。...先看最终的效果图: [333.gif] 本文只是做了个Demo,并没有加入到实际的项目中,所以各位童鞋可以根据自己的需求就行修改即可。.../** * 创建目标图片(阴影部分) */ private Bitmap drawTargetBitmap() { // 绘制图片 Bitmap...), mUintWidth, mUintHeight); } // 如果需要旋转图片,进行旋转,旋转后为了和画布大小保持一致,避免出现图像显示不全,需要重新缩放比例...="@mipmap/test" dy:needRotate="true" dy:unitHeight="60dp" dy:unitShadeSrc="@mipmap

    2.3K10

    Android实现轮播图点击图片放大效果

    实现步骤: 1.效果图的展示 2.项目中添加相关的依赖 3.主界面实现轮播图的效果 4.点击轮播图进入图片放大展示页面 5.图片放大展示页面所需的适配器 6.获取fragment需要展示图片的...url 7.图片缩放时遇到Bug解决 实现过程: 1.效果图的展示 [vcc2g7ivtg.gif] QQ图片20190822093116.gif 2.项目中添加相关的依赖 implementation...)//加载过程中图片未显示时显示的本地图片 // .error(R.mipmap.ic_launcher)//加载异常时显示的图片 //.....into(mPhotoView); return view; } } 7.图片缩放时遇到Bug解决 在测试的过程中,对放大的图片进行缩放的时候...需要Demo源码的童鞋可以在底部的公众号回复:"TestImageDemo"即可获取。 ---- 小编整理了一份Android电子书籍,需要的童鞋关注公众号回复:"e_books" 即可获取哦!

    4.6K10

    【Android 应用开发】Paint 滤镜 颜色矩阵 应用 ( 颜色矩阵使用流程 | 颜色通道值翻倍 | 颜色通道值增加 | 颜色反转 | 底片效果 | 黑白效果 | 复古效果 | 美颜效果 )

    滤镜使用流程 : 1.使用前提 : 滤镜是要设置给 Paint 对象 , 因此必须在自定义的 View 或 SurfaceView 中使用 Canvas 绘制才能设置滤镜 ; 2.写出矩阵数组...(getResources(), R.mipmap.trump); 8.设置绘制区域 : 设置 左上右下 坐标 ; RectF rectF = new RectF(0,0,getWidth(...), getHeight()); 9.绘制图像 : 直接调用 Canvas 的 draw 方法绘制图像 ; canvas.drawBitmap(bitmap, null , rectF, paint...); 10.滤镜使用完整代码 : 下面代码是一个自定义 View , 在 onDraw 方法中实现上述逻辑 , 不用的滤镜就是使用不同的 ColorMatrix 矩阵 ; package net.csdn.blog.hanshuliang.filter...*/ private Paint paint; /** * 使用滤镜处理的图像 */ private Bitmap bitmap; public

    1.2K20

    Android实现滑块拼图验证码功能

    滑块拼图验证码应该算是很常见的功能了,验证码是可以区分用户是人还是机器。可以防止破解密码、刷票等恶意行为。本文将介绍Android拼图滑块验证码控件的实现过程。希望能帮助到大家。...先看最终的效果图: ? 333.gif 本文只是做了个Demo,并没有加入到实际的项目中,所以各位童鞋可以根据自己的需求就行修改即可。.../** * 创建目标图片(阴影部分) */ private Bitmap drawTargetBitmap() { // 绘制图片 Bitmap...), mUintWidth, mUintHeight); } // 如果需要旋转图片,进行旋转,旋转后为了和画布大小保持一致,避免出现图像显示不全,需要重新缩放比例...="@mipmap/test" dy:needRotate="true" dy:unitHeight="60dp" dy:unitShadeSrc="@mipmap

    1.7K10

    Dart中的const,Flutter,Dart,React Native

    Flutter 采取不同的方法,试图使移动开发更好。 它提供了一个开发人员使用的应用程序框架和一个可移植的运行时引擎。该框架建立在 Skia 图形库上,提供实际呈现的部件,而不仅仅是原生控件的包装。...通过允许更快的迭代,热加载可显着提高开发效率。 测试 Flutter 包含一个 WidgetTester 实用程序,用于与测试中的部件进行交互。...要添加包或插件,只需在应用程序的根目录下的 pubspec.yaml 文件中包含依赖项即可。...无状态部件在创建和初始化后不会更改它们的内容,而有状态部件维护一些程序运行时可变的状态,例如,响应用户交互。 在此示例中,FlatButton 部件和 Text 部件将绘制到屏幕上。...由于它也是一个部件,因此添加手势识别只需要将子部件封装在 GestureDetector 部件中。

    6300

    让你的布局滚动起来—ScrollView

    前言 通过两天的”实战“,今天我们稍微放松一下脚步,让大家喘口气歇一会儿,我们今天为大家带来的控件,解决了太多在项目中遇到的适配问题,如果你已经碰到了这种问题,就紧跟我们的脚步吧~ 在前面几篇文章中,向大家介绍了一些常用的布局及...在使用的过程中,可能会遇到这样的场景,当绘制的UI控件超出手机屏幕尺寸的时候,就会导致此UI控件无法显示。...简介 ScrollView称为滚动视图,当在一个屏幕的像素显示不下绘制的UI控件时,可以采用滑动的方式,使控件显示。...↳android.widget.ScrollView 可以看出, ScrollView原来是一个 FrameLayout的容器,不过在他的基础上添加了滚动,允许显示的比实际多的内容。...已超出屏幕显示,在不使用 ScrollView的情况下,父布局直接使用 LinearLayout,是无法使屏幕滑动显示所有控件的。

    3.7K30

    原创|Android Jetpack Compose 最全上手指南

    Android Studio 4.0.png 使用Jetpack Compose 来开始你的开发工作有2种方式: 将Jetpack Compose 添加到现有项目 创建一个支持Jetpack Compose...将Jetpack Compose 添加到现有项目 如果你想在现有的项目中使用Jetpack Compose,你需要配置一些必须的设置和依赖: (1)gradle 配置 在app目录下的build.gradle...创建一个支持Jetpack Compose的新应用 比起在现有应用中接入Jetpack Compose ,创建一个支持Jetpack Compose 的新项目则简单了许多,因为Android Studio...在Android的xml布局中,如果要显示一个垂直结构的布局,最常用的就是LinearLayout, 设置android:orientation 值为vertical, 子元素就会垂直排列,那么,在Jetpack...Text("Android技术杂货铺") Text("依然范特西") } image.png 从上图可以看到,我们添加了3个文本,但是,由于我们还没有提供有关如何排列它们的任何信息,因此三个文本元素相互重叠绘制

    6.4K20

    二维纹理映射(2D textures)【转】

    另外一个问题是,纹理应用到物体上,最终要绘制在显示设备上,这里存在一个纹素到像素的转换问题。...GL_NEAREST_MIPMAP_LINEAR: 在两个最接近像素大小的Mipmap中做线性插值,纹理内部使用最近邻滤波。...GL_LINEAR_MIPMAP_LINEAR: 在两个最接近像素大小的Mipmap中做线性插值,纹理内部使用线性滤波。...上面的数据格式如下图所示(来自www.learnopengl.com): ? 这个格式的说明在OpenGL学习脚印: 绘制一个三角形已经讲过,如果不清楚,可以回过头去查看。...这里为绘制的矩形添加了纹理,可以从我的github下载程序完整代码。 重构代码 将上面处理纹理部分的代码整理成一个函数,放在textureHelper类里,可以从我的github查看这个类的代码。

    1.2K20

    Android之Drawable介绍

    image.png Drawable Drawable是一种可以在Canvas上进行绘制的抽象的概念,颜色、图片等都可以是一个Drawable。...Android中Drawable是一个抽象类,每个具体的Drawable都是其子类。 简单来讲,其可以理解为:图像。...="center" android:mipMap="false" android:tileMode="disabled" /> Bitmap的属性介绍: 属性 作用 备注 android...) 应该开启 android:filter 开启过滤-在图片尺寸拉伸和压缩时保持较好的显示效果 应该开启 android:gravity 图片小于容器尺寸时,对图片进行定位-选项之间 用‘ ’来组合使用...android:mipMap 纹理映射-图像处理技术 默认false android:tileMode 平铺模式-repeat单纯重复、mirror镜面反射、clamp图片四周像素扩散 默认disable

    64510
    领券