Android中图型的阴影效果(shadow-effect-with-custom-shapes)

  • 思路:

    在自定义shape中增加一层或多层,并错开,即可显示阴影效果。为增加立体感,按钮按下的时候,只设置一层。我们可以通过top, bottom, right 和 left 四个参数来控制阴影的方向和大小。

    关系图

    以下自定义两种阴影效果:

    res/drawable-hdpi/shadow1.xml

    view
    source
    print?

    01.<?xml
    version=
    "1.0" encoding="utf-8"?>

    02.<selector
    xmlns:android=
    "http://schemas.android.com/apk/res/android">

    03.<item 

    04.android:state_pressed="true">

    05.<layer-list>

    06.<item
    android:left=
    "4dp" android:top="4dp"><shape>

    07.<solid
    android:color=
    "#ff58bb52" />

    08.<corners
    android:radius=
    "30dip" />

    09.</shape></item>

    10.</layer-list>

    11.</item>

    12.<item>

    13.<layer-list>

    14.<!--
    第一层 -->

    15.<item
    android:left=
    "4dp" android:top="4dp"><shape>

    16.<solid
    android:color=
    "#66000000" />

    17.<corners
    android:radius=
    "30dip" />

    18.<!--
    描边 -->

    19.<stroke
    android:width=
    "1dp" android:color="#ffffffff" />

    20.</shape></item>

    21.<!--
    第二层 -->

    22.<item
    android:bottom=
    "4dp" android:right="4dp"><shape>

    23.<solid
    android:color=
    "#ff58bb52" />

    24.<corners
    android:radius=
    "30dip" />

    25.<!--
    描边 -->

    26.<stroke
    android:width=
    "1dp" android:color="#ffffffff" />

    27.</shape></item>

    28.</layer-list></item>

    29.</selector>

    /TestAA/res/drawable-hdpi/shadow2.xml

    view
    source
    print?

    01.<?xml
    version=
    "1.0" encoding="utf-8"?>

    02.<selector
    xmlns:android=
    "http://schemas.android.com/apk/res/android">

    03.<!--
    点击之后 -->

    04.<item
    android:state_pressed=
    "true">

    05.<layer-list>

    06.<item 

    07.android:left="4dp"

    08.android:top="4dp">

    09.<shape>

    10.<solid 

    11.android:color="#ff58bb52" />

    12.<corners 

    13.android:radius="3dp" />

    14.</shape>

    15.</item>

    16.</layer-list></item>

    17.<!--
    正常状态 -->

    18.<item>

    19.<layer-list>

    20.<!--
    第一层 -->

    21.<item 

    22.android:left="2dp"

    23.android:top="2dp">

    24.<shape>

    25.<solid 

    26.android:color="#66000000" />

    27.<corners

    28.android:radius="3dp" />

    29.</shape>

    30.</item>

    31.<!--
    第二层 -->

    32.<item 

    33.android:bottom="4dp"

    34.android:right="4dp">

    35.<shape>

    36.<solid 

    37.android:color="#ff58bb52" />

    38.<corners 

    39.android:radius="3dp" />

    40.</shape>

    41.</item>

    42.<!--
    第三层 -->

    43.<item 

    44.android:bottom="6dp"

    45.android:right="6dp">

    46.<shape>

    47.<solid 

    48.android:color="#ffcccccc" />

    49.<corners 

    50.android:radius="3dp" />

    51.</shape>

    52.</item>

    53.</layer-list>

    54.</item>

    55.</selector>

    效果图:

时间: 2024-12-03 09:33:52

Android中图型的阴影效果(shadow-effect-with-custom-shapes)的相关文章

Android中GIF动图的播放控制和监听详解

前言 最近接手的项目里涉及到了 GIF 动图的播放与监听,在上一版本中对于 GIF 的处理是由 H5 来实现的,因为考虑到用户体验,因此现在的需求是将这块儿原生化,途中差点误入歧途!下面来看看详细的介绍吧. Android 中 GIF 动图处理与监听 刚开始第一个想到的便是 glide , 但是自认为 glide 不能够控制 GIF 以及去监听它,所以网上去搜寻别的方法.看到有一个方案是将图片分帧,一张张的去用逐帧动画来实现. 我开始怀疑给这个解决方案的人了,都什么时代了还做这种费力不讨好,大量

android中不同包下的Camera有什么不一样 如图所示

问题描述 android中不同包下的Camera有什么不一样 如图所示 android中不同包下的Camera有什么不一样 如图所示 解决方案 一个可以绘制类似三维动画的,一个是相机拍照用的 解决方案二:

求方向和思路!android中实现图中左右滑动划分

问题描述 求方向和思路!android中实现图中左右滑动划分 类似于"探探APP"中那样,这是怎么实现的,我不知道准确方向和思路,也不知道用到哪些技术,还望大牛指点,我的理解是:自定义组件+帧布局: 解决方案 Android实现左右滑动滑屏的功能

android java-android开发中int型的颜色值转化为string

问题描述 android开发中int型的颜色值转化为string int color = Color.成YELLOW;如何把color转化为#20540形式?

图-android中写文件的 问题

问题描述 android中写文件的 问题 如图这是什么错误呢 解决方案 文件路径问题,还有类名没有找到

代码-Android中GridView中当我删除某一个图片时图片缓存清空,图片位置上显示背景图

问题描述 Android中GridView中当我删除某一个图片时图片缓存清空,图片位置上显示背景图 请问如何实现我是新手,最好有个详细的代码给我做个参考谢谢大家 解决方案 把数据源中的图像连接去掉,然后notify,getview中判断,如果图像连接没有,就显示默认图片 解决方案二: 那么怎么清除数据源那,我是个新手对代码还不是很熟 解决方案三: 删除后,手动把背景图设置上去-- 解决方案四: 谁能写个代码例子给我参考一下,只是告诉我方式我不知道改怎么做.谢谢大家了 解决方案五: 你重新吧背景图

求伯君-大神帮忙android中的布局 如图中的样式

问题描述 大神帮忙android中的布局 如图中的样式 求大神给帮忙摆一个这样的布局 解决方案 用webview做一个网页就是了 解决方案二: android样式布局 解决方案三: 用relativelayout很简单的,设定好每个组件的上下左右即可

Android编程使用自定义shape实现shadow阴影效果的方法_Android

本文实例讲述了Android编程使用自定义shape实现shadow阴影效果的方法.分享给大家供大家参考,具体如下: 直接上xml文件, 并且附上相应的解析: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_p

Android编程使用自定义shape实现shadow阴影效果的方法

本文实例讲述了Android编程使用自定义shape实现shadow阴影效果的方法.分享给大家供大家参考,具体如下: 直接上xml文件, 并且附上相应的解析: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_p