文章目录

  • 字体阴影
  • 用9png图片实现通用阴影效果
  • 用9png图片实现网络传输

字体阴影

字体阴影有四个相关参数:

  1. android:shadowRadius:阴影半径
  2. android:shadowColor:阴影颜色
  3. android:shadowDx:水平偏移
  4. android:shadowDy:垂直偏移
<TextView        android:id="@+id/tvshadow"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textSize="60sp"        android:textColor="#ffffffff"        android:layout_gravity="center"        android:text="Test Shadow"        android:shadowColor="#ff000000"        android:shadowRadius="10"        android:shadowDx="10"        android:shadowDy="10"        />

Android控件阴影效果的几种实现方法_第1张图片
需要注意的是,这几个参数只对TextView控件有效,其它的控件比如ImageView和布局控件如LinearLayout则无效

如果需要让布局控件比如LinearLayout有阴影效果怎么办呢?
解决方案就是:制作带有阴影效果的9png图片作为背景图片。

用9png图片实现通用阴影效果

这里提供一个在线制作带有阴影效果的9png的网站:

https://inloop.github.io/shadow4android/
Android控件阴影效果的几种实现方法_第2张图片
网站提供强大的参数设置功能,能够满足我们设置阴影png需求。
Android控件阴影效果的几种实现方法_第3张图片
Android控件阴影效果的几种实现方法_第4张图片
制作出来的效果:
Android控件阴影效果的几种实现方法_第5张图片

用9png图片实现网络传输

关于9png的使用,平常我们可能会将制作好的png图片放入工程中,然后打包进apk内安装使用。
但是有需求是要求从网络获取9png图片,然后在apk的控件中显示出来。
如果这个9png图片不经过处理,直接放在网上,然后经由app在使用过程中下载下来,将这个bitmap设置成背景,那么你会惊奇的发现这个图片并没有达到9png图片的效果,而是一张普通图片,设置连9png的黑边都显示出来并拉伸了。

原因是如果放在res下的图片,经过打包后实际上是经过处理过的图片,我们可以通过解压apk来查看这个图片,会比原来的9png图片少了两个像素。

所以我们如果要从网络下载一个9png的图片,这个图片也必须经过处理,然后才能放到网上才有效果。

具体做法:

  1. 找到sdk下的aapt目录:比如sdk\build-tools\28.0.3;
  2. 运行指令:aapt.exe c -v -S C:\1 -C C:\2,其中C:\1是原始9png图片所在目录,C:\2是处理后的9png图片所在目录。需要注意的是,这两个目录不能一样,否在运行会失败。
    Android控件阴影效果的几种实现方法_第6张图片

更多相关文章

  1. Android兼容性问题 -- WebP格式图片解码失败
  2. android 各种控件颜色值
  3. android控件的对齐方式转讲
  4. android静态图片和动态壁纸
  5. Android设置任何控件透明度
  6. Android 控件及其属性2
  7. Android : SeekBar 实现图片旋转缩放
  8. android小问题:RadioButton设置文字在图片背景的下方
  9. Android BitmapShader 实战 实现圆形、圆角图片

随机推荐

  1. Android 相机拓展库,能够实时采集并且识别
  2. android中使用DisplayMetrics获取屏幕参
  3. Android keystore 调试
  4. Android仿微信QQ群头像生成
  5. Android如何接收locale改变的消息 || loc
  6. Android(安卓)AsyncTask 完美解析 看不懂
  7. ubuntu 14.04 adb 配置及使用
  8. android 混淆后的代码还原
  9. Android自动读取短信验证码
  10. Android 编译 product 分区