时间:2021-05-20
我们要实现的效果如下:
在这之前先带大家了解一下xml bitmap,何为XML Bitmap?
XML Bitmap 是一个用XML定义的文件放在资源目录,定义的对象是图片,为bitmap定义别名,这个文件可以给bitmap定义一些额外的属性。例如:抖动。
1、文件存放位置
res/drawable/filename.xml
2、语法
<?xml version="1.0" encoding="utf-8"?><bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@[package:]drawable/drawable_resource" android:antialias=["true" | "false"] android:dither=["true" | "false"] android:filter=["true" | "false"] android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" | "fill_vertical" | "center_horizontal" | "fill_horizontal" | "center" | "fill" | "clip_vertical" | "clip_horizontal"] android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />例子:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <!-- 与默认情况(@drawable/btn_default_pressed_holo_light)有差别 --> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="@drawable/bm" android:text="sssssssssssssssssss" /> </RelativeLayout> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <!-- 与默认情况(@drawable/btn_default_pressed_holo_light)有差别 --> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="@drawable/bm" android:text="sssssssssssssssssss" /></RelativeLayout>效果图:
默认(@drawable/btn_default_pressed_holo_light):
引用(\@drawable/bm):
从截图上就可以看出来差别。
titileMode="repeat":
之后找了一些关于实现波浪线的方法,总感觉不大满意,常见的方法分享给大家:
1、直接搞一个这样的波浪线的切图
这种方式最简单,但是劣势也非常明显,如果view的宽度过大,则会出现图片变形,如下图所示:
如果过小则如下:
要求不高的话,这样勉强可以蒙混过关,但是追求完美的话,这样的效果显然很不给力
2、自定义控件绘制
这个方法的确可以达到不错的效果,但是实现比较麻烦。我也看到有朋友搞过,
3、用xml的bitmap标签实现波浪线效果
首页要搞一个周期的波浪线,即包括波峰和波谷,如下图所示:
wave_item:
然后水平方向上平铺,从而实现波浪线效果,代码如下:
wave.xml:
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:antialias="true" android:src="@drawable/wave_item" android:tileMode="repeat" />activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin" > <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/wave" /> </LinearLayout>注意:这个ImageView通过background显示图片,src是显示不了这样的效果的。
希望本文所述对大家学习Android软件编程有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
像360卫士的波浪球进度的效果,一般最常用的方法就是画线的方式,先绘sin线或贝塞尔曲线,然后从左到右绘制竖线,然后再裁剪圆区域。今天我这用图片bitmap的方
我们在使用Word排版时,经常会用到波浪线,有时是中间波浪线,有时是下波浪线,那么这些波浪线符号要怎么打出来呢?其实操作很简单,下面一起看一下操作步骤。最终效果
本文实例讲述了Android编程实现在Bitmap上涂鸦效果。分享给大家供大家参考,具体如下:布局文件:重写的View文件:publicclassHandWri
之前写了个User类(实现了Serializable接口),类变量里有Bitmap类型的头像图片,Bitmap导致序列化不成功,报"android.graphi
Android使用xml自定义图片实例详解实现效果图:白色圆角图片bg_round_rectangle_white.xml白色圆角虚线框bg_round_rec