Drawable一个有趣的属性:tileMode

2018-11-26 21:47:55

tileMode是drawable 资源文件 bitmap的一个属性, 翻译的意思是平铺模式。用法如下:
在drawable目录下新建一个资源文件 tile_mode_demo.xml
android:src="@drawable/ic_launcher" android:tileMode="mirror">
tileMode 一共有 4种属性:
mirror,repeat,clamp,disabled

我们现在测试4种属性的具体效果,将 tile_mode_demo.xml当作一个View的背景

xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.wangyi.demo.MainActivity">
android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/tile_mode_demo" />

1.  mirror:一排排正在照镜子的机器人 ,在AndroidStudio中预览的效果如下:

2. repeat:满屏都是机器人

3. clamp:这种情况下将一个View的background 设置成该bitmap, 最终也只会显示bitmap自身的大小 (其实这个View的尺寸是占满了屏幕的 );

4. disabled:这个表示禁用平铺模式 和直接将图片设置成背景是一样的效果。



  • 2018-02-02 15:19:29

    贝塞尔曲线扫盲

    相信很多同学都知道“贝塞尔曲线”这个词,我们在很多地方都能经常看到。但是,可能并不是每位同学都清楚地知道,到底什么是“贝塞尔曲线”,又是什么特点让它有这么高的知名度。

  • 2018-02-04 23:46:16

    Android SQLite 升级数据库,在原有数据库的基础上添加一列

    原本以为很简单的问题,直接在原来创建数据库的语句中加上需要添加的列new_column,但是运行时发现,应用crash。原因是,原有数据库文件已经存在的情况下并不会重新创建数据库,也就是说此时数据库中并没有new_column列,这个时候,运行query()来查询数据库如果包括new_column列,就会导致应用crash。

  • 2018-02-06 22:23:01

    HTML5 Canvas 的事件处理

    DOM是Web前端领域非常重要的组成部分,不仅在处理HTML元素时会用到DOM,图形编程也同样会用到。比如SVG绘图,各种图形都是以DOM节点的形式插入到页面中,这就意味着可以使用DOM方法对图形进行操作。比如有一个<path id=”p1″>元素,可以直接用jquery增加click事件$(‘#p1’).click(function(){…})”。然而这种DOM处理方法在HTML5的Canvas里不再适用,Canvas使用的是另外一套机制,无论在Canvas上绘制多少图形,Canvas都是一个整体,图形本身实际都是Canvas的一部分,不可单独获取,所以也就无法直接给某个图形增加JavaScript事件。

  • 2018-02-09 01:32:48

    PHP时间戳和日期相互转换

    在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明。

  • 2018-02-09 02:57:46

    如何防止多次打开Activity?

    android:launchMode="singleTask" 加上这句,每次打开如果已有此activity,就会打开原来的实例,否则会创建新的activity​