7、android的button如何平铺一张图片?
我想要实现的效果:
,但是设计师给的是这样的:
。
首先我想到的是这就像windows电脑设置壁纸有什么拉伸、自适应、平铺等类型,这个应该就是传说中的平铺吧。
那么我们知道,一个普通的button,设置他的背景,无非就是setbackgroundDrawable/resource/color这几种,可调用的方法中也没有可以设置平铺的。
怎么办呢?
1、大百度搜索“android 平铺”,搜到下面两个关键链接:
android 平铺背景图 (3种平铺方法)
【android】scaleType属性与ImagView中图片的显示的关系 (imageview中图片的对齐方式)
2、上干货
new_button.setX((float)x);
new_button.setY((float)y);//设置按钮的位置 Resources res = splash.contextTools.getResources();
Drawable drawable = res.getDrawable(R.drawable.split_line);//获取图片资源
BitmapDrawable bd = (BitmapDrawable)drawable;
bd.setTileModeY(TileMode.REPEAT);//这个就是设置平铺 new_button.setBackgroundDrawable(bd);//设置为button的背景 int width = CommonUtils.px2dip(splash.contextTools, 15);
int height = 100; RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width,height);
rl.addView((View)new_button,lp);//将button添加到布局中
3、讲解
要想实现平铺效果,有3个关键点:
①bitmapDrawable
②bitmapDrawable对应的方法setTileModeY
③从本地获取到图片资源
为什么是这3个关键点,其实理由很简单:①你要想设置平铺,必须得到要平铺的图片 ②要支持平铺,我们需要使用bitmapDrawable ③要设置平铺,我们需要知道设置的接口
好了,我觉着讲解完了,希望帮到你。如果有疑问,请参考上述两个超链接,也可留言给我。
7、android的button如何平铺一张图片?的更多相关文章
- Android中Button的五种监听事件
简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activ ...
- Android之Button自定义点击效果
我们在界面上经常会用到button按钮,但通常button点击后看不到点击的效果,如果用户连续点击了两次,就会报NAR错误,这样交互性就比较差了.如果我们自定义了button点击效果,比如我们点击了b ...
- Android实现Button事件的处理
Android实现Button事件的处理 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 代码实现 首先是最基本的线性布局,给每个控件设立id值,以供代 ...
- 加载程序到android虚拟机报错: android.widget.RelativeLayout cannot be cast to android.widget.Button
05-23 02:53:48.416: E/Trace(875): error opening trace file: No such file or directory (2) 05-23 02:5 ...
- Android 给Button加个监听
1.日期设置控件:DatePickerDialog 2.时间设置控件:TimePickerDialog 实例代码 1.页面添加两个Button,单击分别显示日期设置控件和时间设置控件,还是有TextV ...
- Android倒计时Button
最近做用户绑定,需要用到倒计时的一个Button,就花点时间封装了一个,非常简单,效果图如下: 1.TimeButton 自定义倒计时Button package com.example.timebu ...
- Xamarin for android:为button设置click事件的几种方法
原文:Xamarin for android:为button设置click事件的几种方法 在Xamarin中一个最基础的事情,就是为一个button指定click事件处理方法,可是即使是这么一件事也有 ...
- Android根据Button状态(normal,focused,pressed)显示不同背景图片
Android根据Button状态(normal,focused,pressed)显示不同背景图片 Android中Button 有focused, selected, pressed 等不同状态,通 ...
- android 自定义Button,抛弃写shape文件
标签: android 控件 自定义 2017年05月27日 17:52:13 611人阅读 评论(0) 收藏 举报 分类: 自定义View(2) 作者同类文章 X 版权声明:本文为博主原创文章 ...
随机推荐
- 必须会的SQL语句(六)查询
1.基础的查询 1)重命名列 select name as '姓名' from 表名 2)定义常量列 select 是否 ='是' from 表名 3) ...
- PHP基础笔记汇总
一.PHP简介PHP:超文本预处理器(译者注:PHP: Hypertext Preprocessor,递归命名)PHP 是一种服务器端的脚本语言,类似 ASPPHP 文件的文件后缀是 ".p ...
- Setup Factory 程序打包
1.检测是否已安装 在On Startup中写入如下代码: result1=Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\sohe ...
- css半透明
filter:alpha(opacity=80); /*支持 IE 浏览器*/-moz-opacity:0.80; /*支持 FireFox 浏览器*/opacity:0.80; /*支持 Chrom ...
- php 执行事务的时候pdo出现问题
新版本的pdo会有这个问题: General error: 2014 Cannot execute queries while other unbuffered queries are active. ...
- Google -We’re Sorry....
Author:KillerLegend From:http://www.cnblogs.com/killerlegend/p/3734840.html Date:2014.5.18 一大清早 一大早起 ...
- Windows Server 2003开机自动启动MySQL服务设置方法
Windows Server 2003开机自动启动MySQL服务设置方法 发布时间:2014-12-19 更新时间:2014-12-24 来源:网络 作者:eaglezhong 关键词: 2003 e ...
- JAVA中ArrayList用法
JAVA中ArrayList用法 2011-07-20 15:02:03| 分类: 计算机专业 | 标签:java arraylist用法 |举报|字号 订阅 Java学习过程中做题时 ...
- JLINK V8 Keil MDK4.10 STM32
新买的JLINK v8仿真器,第一次使用,编译环境是Keil MDK4.10,目前芯片是STM32F103x. 按照光盘的说明先安装了驱动,USB接上JLINK v8,显示驱动成功.但是在debug或 ...
- Python脚本控制的WebDriver 常用操作 <九> 定位一组对象
下面将使用WebDriver来模拟操作定位一组对象的操作 测试用例场景 从上一节的例子中可以看出,webdriver可以很方便的使用find_element方法来定位某个特定的对象,不过有时候我们却需 ...