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 版权声明:本文为博主原创文章 ...
随机推荐
- c#中操作word文档-一、模板方式写入
转载自:http://blog.csdn.net/fujie724/article/details/5443322 适合模板写入 今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和 ...
- IIS安装错误导致网站访问不了
如下图,网站正常但就是访问不了,原因是IIS配置不正确,把ASP.NET4.5等相关勾选上就可以了,不要用默认的勾选,要自己手动勾选.
- [leetcode]_String to Integer (atoi)
非常考虑思维全面性的一道题,考验是否能够考虑本问题的方方面面. 题目:将一个string转换为int.实现函数atoi()的功能. 先应该明确atoi()有哪些特殊功能:(正常的正负数情况我就不列了) ...
- C#关于值类型和引用类型的备忘
值类型 引用类型 内存分配地点 分配在栈中 分配在堆中 效率 效率高,不需要地址转换 效率低,需要进行地址转换 内存回收 使用完后,立即回收 使用完后,不是立即回收,等待GC回收 赋值操作 进行复 ...
- WPF—TreeView无限极绑定集合形成树结构
1.如图所示:绑定树效果图 2.前台Xaml代码: <Window x:Class="WpfTest.MainWindow" xmlns="http://schem ...
- zabbix基本功能操作
上一篇我已经把zabbix server 和zabbix agent 安装在了同一台主机上,现在如何配置zabbix server监控自己. vim /etc/zabbix/zabbix_agentd ...
- C++ 里 构建动态二维数组
//****动态二维数组 /* int m=3; int **data; int n=2; data=new int*[m]; for(int j=0;j<m;j++) { data[j]=ne ...
- Delphi 7 里没有加载的控件
在原来版本如D5.D6中使用的控件如Quickrep,FastNet等,在D7中仍然是保留的.只是Delphi没有将他们默认的安装到组件面版中来.这些控件包全部保存在Delphi目录的bin下,文件扩 ...
- ok6410的DMA裸机总结
1.为何使用DMA:为了提高CPU的工作效率,避免多余的等待时间 2.关于DMA控制器:(1)通道数:2440有4个通道,6410有4个DMA控制器(初始化的时候要选择),32个通道.210有两种DM ...
- rails 学习笔记
bundle package #保存gem到 vendor/cache bundle install –local 从cache从安装 升级rails bundle config –delete ...