相关疑难解决方法(0)

Android的涟漪效应 - 按钮的触摸反馈 - 使用XML

我试图了解如何为按钮和其他视图实现"涟漪效应 - 触摸反馈".我查看了与SO上的Ripple触摸效果相关的问题,并对其进行了一些了解.我能够使用这个java代码成功获得涟漪效应.

import android.animation.ObjectAnimator;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RadialGradient;
import android.graphics.Region;
import android.graphics.Shader;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.animation.AccelerateInterpolator;
import android.widget.Button;

public class MyButton extends Button {

    private float mDownX;
    private float mDownY;

    private float mRadius;

    private Paint mPaint;

    public MyButton(final Context context) {
        super(context);
        init();
    }

    public MyButton(final Context context, final AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public MyButton(final Context context, final AttributeSet attrs,
            final int defStyle) { …
Run Code Online (Sandbox Code Playgroud)

xml android material-design rippledrawable android-5.0-lollipop

49
推荐指数
5
解决办法
9万
查看次数

android涟漪按钮与背景

我使用XML在android 5.0中成功创建了一个涟漪按钮.我的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- the flat button to be used in app -->
<!-- define the ripple -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <!-- the ripple object -->
    <item android:id="@android:id/mask">
        <!-- button shape (w/ radius) -->
        <shape android:shape="rectangle">
            <!-- radius of vertices -->
            <corners
                android:topLeftRadius="7dp"
                android:topRightRadius="7dp"
                android:bottomLeftRadius="7dp"
                android:bottomRightRadius="7dp" />
            <!-- color accent (not working) -->
            <solid android:color="?android:colorAccent" />
        </shape>
    </item>
</ripple>
Run Code Online (Sandbox Code Playgroud)

我的按钮有问题:按钮的背景颜色不会改变.我也尝试过:

<solid android:color="#0000ff" />
Run Code Online (Sandbox Code Playgroud)

背景仍然保持透明(colorAccent也不起作用).

如果没有通过,我应该如何将矩形(按钮的)背景设置为蓝色

<solid/>
Run Code Online (Sandbox Code Playgroud)

属性?

谢谢

android button rippledrawable android-5.0-lollipop

5
推荐指数
1
解决办法
4855
查看次数