Android 如何使涟漪效果看起来像圆形而不是椭圆形?

Android 如何使涟漪效果看起来像圆形而不是椭圆形?,android,android-5.0-lollipop,material-design,rippledrawable,Android,Android 5.0 Lollipop,Material Design,Rippledrawable,我的大多数图像按钮都有同样的涟漪效应,在大多数按钮上,按下时看起来像一个圆圈,但在一些按钮上,它看起来像一个椭圆形,我只是不知道为什么它看起来不同。我知道实际的波纹形状被设置为椭圆形,但为什么它看起来像其他按钮上的一个圆圈呢。这可能是因为我没有看到它的权利,因为它发生得如此之快 以下是我的ripple xml: <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?and

我的大多数图像按钮都有同样的涟漪效应,在大多数按钮上,按下时看起来像一个圆圈,但在一些按钮上,它看起来像一个椭圆形,我只是不知道为什么它看起来不同。我知道实际的波纹形状被设置为椭圆形,但为什么它看起来像其他按钮上的一个圆圈呢。这可能是因为我没有看到它的权利,因为它发生得如此之快

以下是我的ripple xml:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <item android:id="@android:id/mask">
        <shape android:shape="oval">
            <solid android:color="?android:colorPrimary" />
        </shape>
    </item>
</ripple>

对。我也有同样的问题。效果完全取决于对象的尺寸。例如,512*512图像给了我完美的圆形涟漪效果,屏幕底部的矩形按钮给了我椭圆形/椭圆形效果。所以我在那个长方形按钮后面加了一个小正方形按钮,给那个正方形按钮增加了效果。当按下该按钮时,我调用该方形按钮以显示效果。

谢谢您的回复。我假设它是按照你描述的方式工作的,但是得到椭圆形波纹的按钮有48dp的高度和宽度,所以它们是正方形的。不过,它们内部的图像是一个圆圈,不确定这可能会对事情产生什么影响。我根据矩形按钮面临的问题给出了我的经验,如果方形按钮仍然存在问题,那么代码或ripple的实现方式都有问题。我想我现在知道为什么会发生这种情况。我有一个“安卓:布局”和4个按钮。因此,实际宽度远大于48dp。我想换一个其他的布局,我打赌这会解决它。是的,这是布局的重量。既然你解释了它的工作原理,我就认为你是正确的。
 <Space
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1" />