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

标签 android android-5.0-lollipop material-design rippledrawable

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

这是我的波纹 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 的图像给我完美的圆形波纹效果,屏幕底部的矩形按钮给我椭圆形/椭圆形效果。所以我在那个矩形按钮后面添加了一个小方形按钮,并为那个方形按钮添加了效果。当按下那个按钮时,我调用那个方形按钮来显示效果。

关于android - 如何使涟漪效果看起来像圆形而不是椭圆形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30873074/

相关文章:

android - Spinner 下拉项目彩色背景的波纹效果 (appcompat-v7 V21)

android - 尝试实现 WebviewClient 但失败

android - HttpURLConnection 发送带参数的图像、音频和视频文件可能(String 或 Json String)Android

android - 蓝牙 GATT onConnectionState Change 不适用于 Lollipop

android - 仅在 Lollipop 中出现 GCM SERVICE_NOT_AVAILABLE 异常

Android 5.0 RuntimeException with AppCompat Caused by : java. lang.IllegalStateException : You need to use a Theme. AppCompat 主题

适用于较低 API 的 Android Material Design 抽屉导航

android - 构建.gradle : The option 'android.enableR8' is deprecated and should not be used anymore

java - 主题未保存在共享首选项中

android - AlertDialog 没有正确使用 Material 设计?