点击效果

2019-01-23  本文已影响0人  红茶炒饭

按钮阴影效果第三方库

按钮阴影

//在项目的build.gradle中添加:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
  }
}
//在APP模块下的build.gradle中添加依赖:

dependencies {
    implementation 'com.github.JuHonggang:ShadowDrawable:0.1'
}
//只需要这一行简单实现
ShadowDrawable.setShadowDrawable(控件, Color.parseColor("#3D5AFE"), 8,
                        Color.parseColor("#66000000"), 10, 0, 0);

水波纹第三方库

用法:这个控件的内部只可以包含一个子控件
点击水波纹

implementation  'com.balysv:material-ripple:1.0.2'
<?xml version="1.0" encoding="utf-8"?>
<com.balysv.materialripple.MaterialRippleLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/tv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />


        <Button
            android:text="111"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        
        <com.balysv.materialripple.MaterialRippleLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <Button
                android:text="222"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </com.balysv.materialripple.MaterialRippleLayout>


    </LinearLayout>


</com.balysv.materialripple.MaterialRippleLayout>

app:mrl_rippleOverlay="true"                     若为true,前景绘制波纹  false:背景
app:mrl_rippleColor="#ff0000"                    涟漪波纹的颜色
app:mrl_rippleAlpha="0.1"                          透明度
app:mrl_rippleDimension="10dp"                悬停半径和启动波纹
app:mrl_rippleHover="true"                          如果为真,则在触摸视图时绘制悬停效果
app:mrl_rippleRoundedCorners="10dp"   涟漪角半径。注意:它使用API 17及以下的软件渲染管道
app:mrl_rippleInAdapter="true"      true时,MaterialRippleLayout将优化adapterview的使用
app:mrl_rippleDuration="350"             波纹动画持续时间
app:mrl_rippleFadeDuration="75"           波纹的淡出效果持续时间
app:mrl_rippleDelayClick="true"     如果true,则延迟对onclicklistener的调用,直到涟漪效应结束
app:mrl_rippleBackground="#FFFFFF"      波纹可画背景;使用rippleOverlay = " false "
app:mrl_ripplePersistent="true"      如果为true,则波纹背景色在动画结束后持续存在,直到调用setRadius(0)
第三方水波纹

安卓5.0开始 xml 静态代码也可以实现

android:background="?android:attr/selectableItemBackground" <=这是一个默认的

在 drawable下 新建一个 selector 这时会提示创建drawable-v21进行系统适配
最后在xml中设置 android:background=" 引用 "
或者是在JAVA代码中 setBackgroundResource()
<?xml version="1.0" encoding="utf-8"?>
<!--第一种-->
<ripple
    xmlns:tools="http://schemas.android.com/tools"
    android:radius="10dp"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#e7e7e7"
    tools:targetApi="lollipop">
    <item android:drawable="@color/white"/>
</ripple>



第一种效果
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/text_Grey">
<!--第二种-->
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
            <corners android:radius="1dp" />
            <solid android:color="@color/colorWhite" />
        </shape>
    </item>
</ripple>
上一篇下一篇

猜你喜欢

热点阅读