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

How can I make the ripple effect look like a circle instead of an oval?

我的大多数图像按钮都有相同的波纹效果,其中大多数在按下时看起来像一个圆圈,但在某些按钮上它看起来像一个椭圆形,我只是不确定为什么看起来不一样。我意识到实际的波纹形状被设置为椭圆形,但为什么它在其他一些按钮上看起来像一个圆圈。可能是我没看对,因为它发生得太快了。

这是我的涟漪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>

谢谢。

编辑:结果证明我在 LinearLayout 内的 ImageButtons 上使用 layout_weight 是个问题。我从各个按钮中删除了权重,而是在每个按钮之间添加权重为 1 的空格,如下所示:

 <Space
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1" />

是的。我也有同样的问题。效果完全取决于对象的尺寸。例如,一张 512*512 的图片给了我完美的圆形波纹效果,屏幕底部的一个矩形按钮给了我 oval/ellipsed 效果。所以我在那个矩形按钮后面添加了一个小方形按钮,并为那个方形按钮添加了效果。当按下那个按钮时,我调用那个方形按钮来显示效果。