问题描述
我想创建一个这样的视图:
它具有按钮的行为,因此我使用了 ConstraintLayout 并使用约束将图像和 TextView('some text here')放在按钮顶部(其他文本和图标实现为分别是按钮文字和图标)。
xml如下(约束布局内):
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_plan_change"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingHorizontal="10dp"
android:paddingVertical="30dp"
android:text="start Now"
android:textAlignment="viewEnd"
app:icon="@drawable/ic_chevron_right_black_24dp"
app:iconGravity="end"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<androidx.appcompat.widget.AppCompatimageView
android:id="@+id/iv_plan_change"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginHorizontal="10dp"
android:layout_marginVertical="25dp"
android:background="@drawable/circle_background"
android:backgroundTint="?attr/colorPrimary"
android:elevation="2dp"
android:padding="10dp"
android:src="@drawable/ic_money"
app:layout_constraintBottom_toBottomOf="@id/btn_plan_change"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintStart_toStartOf="@id/btn_plan_change"
app:layout_constraintTop_toTopOf="@+id/btn_plan_change" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tv_plan_change"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_margin="10dp"
android:elevation="2dp"
android:gravity="center_vertical"
android:linespacingExtra="5dp"
android:text="some text here"
app:layout_constraintBottom_toBottomOf="@+id/btn_plan_change"
app:layout_constraintStart_toEndOf="@+id/iv_plan_change"
app:layout_constraintTop_toTopOf="@+id/btn_plan_change" />
如您所见,我在 ImageView 和 TextView 上都使用了 2dp 的高度,以使其与按钮保持在同一高度,但是在按下按钮时,它们都会消失在按钮后面,看不到。
我已经尝试在按钮按下和释放时对两种视图的 translationZ 进行动画处理,但效果不佳(有时动画晚于按钮,有时落后于按钮)。
我很想有一个可行的实现。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)