drawable文件下

为图片添加背景

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape
            android:shape="rectangle">

            <stroke
                android:width="1px"
                android:color="@color/d9d9d9"/>

            <solid android:color="@color/white"/>

            <corners
                android:radius="7dp"/>
        </shape>
    </item>

    <item
        android:width="20dp"
        android:height="20dp"
        android:gravity="center">
        <bitmap android:src="@drawable/com_message_detail_camera"/>
    </item>

</layer-list>

 四角设置相同弧度

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    // 角度
    <corners
        android:radius="7dp"/>

    // 填充色
    <solid
        android:color="#10af55"/>

    // 边框
    <stroke
        android:color="#f00"
        android:width="3dp"/>

</shape>

四角弧度不同

// 方法一

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item>
        <shape
            android:shape="rectangle">

            <solid android:color="@color/white"/>

            <corners android:bottomLeftRadius="8dp"
                android:bottomRightRadius="8dp"/>
        </shape>
    </item>

</layer-list>

 

// 方法二
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#3b7bb1"/>
    <corners android:topLeftRadius="8dp" android:topRightRadius="8dp"
        android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>
</shape>

状态不同图片不同

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/com_audio_quite_icon" android:state_selected="true"/>
    <item android:drawable="@drawable/com_audio_icon"/>

</selector>

 画圆,椭圆

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <solid android:color="@android:color/holo_red_light"/>

    <size android:width="30dp"
        android:height="30dp"/>

</shape>

 

<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#fff"/>
    <stroke android:color="#004b7c" android:width="1dp"/>
</shape>

 

 多层布局的叠加,后者覆盖前者

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item>
        <shape
            android:shape="rectangle">

            <solid android:color="#0f0"/>
        </shape>
    </item>
    <item android:left="10dp"
        android:right="10dp"
        >
        <shape
            android:shape="rectangle">

            <solid android:color="#f00"/>


        </shape>
    </item>

    <item
        android:bottom="10px">
        <shape
            android:shape="rectangle">

            <solid android:color="#00f"/>

        </shape>
    </item>

</layer-list>

闪闪的效果

帧动画,其实就是多幅图片在不同时间的叠加

从第一个开始每隔100ms叠加上一个图片,循环

 

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">

    <!-- animation-list 帧动画 -->
    <!-- android:oneshot的值为 false代表播放多次,true代表只播放一次 -->
    <!-- duration代表每张图片的播放时间 ,定义一个持续时间为50毫秒的动画帧 -->

    <item
        android:drawable="@mipmap/point_img1"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img2"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img3"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img4"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img5"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img6"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img7"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img8"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img9"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img10"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img11"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img12"
        android:duration="100" />
    <item
        android:drawable="@mipmap/point_img13"
        android:duration="100" />
</animation-list>

进度条背景框

// po_seekbar.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background">
        <shape>
            <solid android:color="#5000" />
            <corners android:radius="10dp"/>
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <solid android:color="#5000" />
                <corners android:radius="10dp"/>
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="#417ea5" />
                <corners android:radius="2dp"/>
            </shape>
        </clip>
    </item>
</layer-list>



        // android:thumb="@drawable/seekbar_thumb":上面滑动的小圆圈
        <SeekBar
             android:layout_width="300dp"
             android:layout_height="wrap_content"
             android:focusable="true"
             android:max="100"
             android:progress="10"
             android:maxHeight="4dp"
             android:minHeight="4dp"
             android:progressDrawable="@drawable/po_seekbar"
             android:thumb="@drawable/seekbar_thumb" />

未完待续...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值