zoukankan      html  css  js  c++  java
  • android中图型的阴影效果(shadow-effect-with-custom-shapes)

    思路:

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


    关系图

    下面自己定义两种阴影效果:

    res/drawable-hdpi/shadow1.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item 
            android:state_pressed="true">
            <layer-list>
                <item android:left="4dp" android:top="4dp"><shape>
                        <solid android:color="#ff58bb52" />
                        <corners android:radius="30dip" />
                    </shape></item>
            </layer-list>
        </item>
        <item>
            <layer-list>
                <!-- 第一层 -->
                <item android:left="4dp" android:top="4dp"><shape>
                        <solid android:color="#66000000" />
                        <corners android:radius="30dip" />
                        <!-- 描边 -->
                        <stroke android:width="1dp" android:color="#ffffffff" />
                    </shape></item>
                <!-- 第二层 -->
                <item android:bottom="4dp" android:right="4dp"><shape>
                        <solid android:color="#ff58bb52" />
                        <corners android:radius="30dip" />
                        <!-- 描边 -->
                        <stroke android:width="1dp" android:color="#ffffffff" />
                    </shape></item>
            </layer-list></item>
    </selector>

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

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- 点击之后 -->
        <item android:state_pressed="true">
            <layer-list>
                <item 
                    android:left="4dp" 
                    android:top="4dp">
                    <shape>
                        <solid 
                            android:color="#ff58bb52" />
                        <corners 
                            android:radius="3dp" />
                    </shape>
                 </item>
            </layer-list></item>
        <!-- 正常状态 -->
        <item>
            <layer-list>
                <!-- 第一层 -->
                <item 
                    android:left="2dp" 
                    android:top="2dp">
                    <shape>
                        <solid 
                            android:color="#66000000" />
                        <corners
                            android:radius="3dp" />
                    </shape>
                </item>
                <!-- 第二层 -->
                <item 
                    android:bottom="4dp" 
                    android:right="4dp">
                    <shape>
                        <solid 
                            android:color="#ff58bb52" />
                        <corners 
                            android:radius="3dp" />
                    </shape>
                </item>
                <!-- 第三层 -->
                <item 
                    android:bottom="6dp" 
                    android:right="6dp">
                    <shape>
                        <solid 
                            android:color="#ffcccccc" />
                        <corners 
                            android:radius="3dp" />
                    </shape>
               </item>
            </layer-list>
       </item>
    </selector>

    效果图:


  • 相关阅读:
    图书馆管理系统
    php js_unescape correspond to js escape
    咖啡小驻搬家到此,感谢您继续关注本博
    OO系统分析员之路用例分析系列(1)什么是用例
    jquery tab 潇湘博客
    双色球中奖查询程序
    大象Thinking in UML早知道 001公告
    魔摸新学堂简介
    拙著《大象Thinking in UML》已在互动出版网http://www.chinapub.com/129881开始出售,12月1日全国各大书店有售,敬请关注!^_^
    jQuery进入微软和Nokia的解决方案 潇湘博客
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6953273.html
Copyright © 2011-2022 走看看