android - 收缩波纹效果
问题描述
我在 Github 有以下项目:https ://github.com/Ali-Rezaei/PadLayout
它包括一个布局(用于 dialpad4),称为fragment_dialpad_animation
:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageButton
android:id="@+id/num_pad_btn"
android:layout_width="@dimen/call_button_width"
android:layout_height="@dimen/call_button_height"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:background="@drawable/circle_blue"
android:src="@drawable/ic_dialpad_white_24dp"
tools:ignore="ContentDescription" />
<LinearLayout
android:id="@+id/number_pad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#FFF"
android:orientation="vertical">
<com.github.ali.android.client.customview.view.PadLayout
android:id="@+id/padLayout"
style="@style/PadLayoutStyle.Animation"
android:layout_width="match_parent"
android:layout_height="320dp"
custom:numColumns="3"
custom:numRows="4">
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button1"
style="@style/PadButtonStyle.Ripple"
custom:letterGone="false"
custom:numberText="1" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button2"
style="@style/PadButtonStyle.Ripple"
custom:letterText="ABC"
custom:numberText="2" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button3"
style="@style/PadButtonStyle.Ripple"
custom:letterText="DEF"
custom:numberText="3" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button4"
style="@style/PadButtonStyle.Ripple"
custom:letterText="GHI"
custom:numberText="4" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button5"
style="@style/PadButtonStyle.Ripple"
custom:letterText="JKL"
custom:numberText="5" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button6"
style="@style/PadButtonStyle.Ripple"
custom:letterText="MNO"
custom:numberText="6" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button7"
style="@style/PadButtonStyle.Ripple"
custom:letterText="PQRS"
custom:numberText="7" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button8"
style="@style/PadButtonStyle.Ripple"
custom:letterText="TUV"
custom:numberText="8" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button9"
style="@style/PadButtonStyle.Ripple"
custom:letterText="WXYZ"
custom:numberText="9" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button10"
style="@style/PadButtonStyle.Ripple"
custom:letterGone="false"
custom:numberText="*" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button11"
style="@style/PadButtonStyle.Ripple"
custom:letterText="+"
custom:numberText="0" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button12"
style="@style/PadButtonStyle.Ripple"
custom:letterGone="false"
custom:numberText="#" />
</com.github.ali.android.client.customview.view.PadLayout>
<include
layout="@layout/call_button"
android:id="@+id/call_button"
android:layout_width="@dimen/call_button_width"
android:layout_height="@dimen/call_button_width"
android:layout_gravity="center"
android:layout_marginBottom="16dp" />
</LinearLayout>
</RelativeLayout>
它具有连锁反应:
<?xml version="1.0" encoding="utf-8"?>
<!-- unbounded ripple effect ?android:attr/selectableItemBackgroundBorderless -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/dialpad_button_pressed" />
目前,涟漪效应的大小太大。有什么办法可以缩小涟漪效应吗?
解决方案
默认情况下,RippleDrawable 的半径是根据其容器的大小自动计算的。您可以使用radius
属性来设置自己的大小。
<?xml version="1.0" encoding="utf-8"?>
<!-- unbounded ripple effect ?android:attr/selectableItemBackgroundBorderless -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/dialpad_button_pressed" android:radius="56dp" />
推荐阅读
- docker - Docker-compose apache guacamole 卡住了
- c# - 我可以从 C# 控制台应用程序连接到 USB 设备,但不能从 WinForms 应用程序连接
- python - 如何正确 request.POST 具有一对一关系的表单?
- python - Django,GraphQL,Mongo - graphene-mongo 是唯一的可能吗?
- c++ - 如何获取字典键?
- java - 从 Bazel 的 java_binary 中的 _deploy.jar 拆分依赖项
- typescript - 强制执行接口值的类型
- powerbi - 显示数据库中的图像
- sql - 如何忽略 Hive Lead 函数中的空值
- ms-access - 如何在 Microsoft Access 中执行嵌套的 If / and 语句?