Android 用“查看”;按「;影响

Android 用“查看”;按「;影响,android,android-styles,Android,Android Styles,安卓工作室3.6 在我的xml布局中: <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/feedbackContainer" android:layout_width="0dp" android:layout_height="174dp" app:layout_constraintEnd_toEndOf="@+id/checkContain

安卓工作室3.6

在我的xml布局中:

<androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/feedbackContainer"
        android:layout_width="0dp"
        android:layout_height="174dp"
        app:layout_constraintEnd_toEndOf="@+id/checkContainer"
        app:layout_constraintStart_toStartOf="@+id/checkContainer"
        app:layout_constraintTop_toBottomOf="@+id/checkContainer">

        <ImageView
            android:id="@+id/feedbackViewCircle"
            android:layout_width="124dp"
            android:layout_height="124dp"
            android:background="@drawable/circle_bg"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.498"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <View
            android:id="@+id/heartOutlineNotMadeContainer"
            android:layout_width="56dp"
            android:layout_height="56dp"
            android:background="@drawable/feedback_outline_bg"
            app:layout_constraintBottom_toBottomOf="@+id/feedbackViewCircle"
            app:layout_constraintEnd_toEndOf="@+id/feedbackViewCircle"
            app:layout_constraintStart_toStartOf="@+id/feedbackViewCircle"
            app:layout_constraintTop_toTopOf="@+id/feedbackViewCircle" />

        <TextView
            android:id="@+id/feedbackTextView"
            style="@style/defaultTextStyle2"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:gravity="center"
            android:text="@string/feedback"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/feedbackViewCircle" />

    </androidx.constraintlayout.widget.ConstraintLayout>

嗯。这是工作

但我需要有“压力”效应。Smt是这样的:


使视图可点击,并为正常和按下的状态背景添加选择器,这非常有效

<View
    android:id="@+id/feedbackViewCircle"
    android:layout_width="124dp"
    android:layout_height="124dp"
    android:clickable="true"
    android:background="@drawable/circle_bg"
    ...
/>

假设我理解这个问题,我的建议是您使用扩展Widget.Design.FloatingActionButton的样式,然后像这样将其应用到视图中

<style name="FeedbackAppearance" parent="Widget.Design.FloatingActionButton">
    <item name="android:layout_width">@dimen/some_width</item>
    <item name="android:layout_height">@dimen/some_height</item>
    <item name="android:layout_margin">@dimen/std_gap</item>
    <item name="layout_anchorGravity">end|bottom</item>
    ...
</style>

// inside layout file
<View 
   style="@style/FeedbackAppearance"
   ...
/>

@尺寸/宽度
@尺寸/高度
@尺寸/标准间隙
端部|底部
...
//内部布局文件
可以修改以下任何样式属性或添加不同的样式属性

 <style name="Widget.Design.FloatingActionButton" parent="android:Widget">
    <item name="android:background">@drawable/design_fab_background</item>
    <item name="android:clickable">true</item>
    <item name="android:focusable">true</item>
    <item name="backgroundTint">?attr/colorAccent</item>
    <item name="fabSize">auto</item>
    <item name="elevation">@dimen/design_fab_elevation</item>
    <item name="hoveredFocusedTranslationZ">@dimen/design_fab_translation_z_hovered_focused</item>
    <item name="pressedTranslationZ">@dimen/design_fab_translation_z_pressed</item>
    <item name="rippleColor">?attr/colorControlHighlight</item>
    <item name="borderWidth">@dimen/design_fab_border_width</item>
    <item name="maxImageSize">@dimen/design_fab_image_size</item>
    <item name="showMotionSpec">@animator/design_fab_show_motion_spec</item>
    <item name="hideMotionSpec">@animator/design_fab_hide_motion_spec</item>
  </style>

@可绘制/设计制作背景
真的
真的
?属性/颜色重音
汽车
@尺寸/设计/制造/立面图
@尺寸/设计、制造、翻译、悬停、聚焦
@尺寸/设计、制造、翻译、印刷
?属性/颜色控制突出显示
@尺寸/设计、制造、边界、宽度
@尺寸/设计、制造、图像、尺寸
@动画师/设计\u制作\u表演\u动作\u规格
@动画师/设计\u制作\u隐藏\u运动\u规格

尝试使用android:前台=“?attr/selectableItemBackground”
获取rippleeffect@Md.Asaduzzaman没有帮助。Rippled没有效果你介意分享整个布局吗?创建你自己的自定义可绘制。@a_订户,你尝试过这个吗?没有帮助。同样的结果
<View
    android:id="@+id/feedbackViewCircle"
    android:layout_width="124dp"
    android:layout_height="124dp"
    android:clickable="true"
    android:background="@drawable/circle_bg"
    ...
/>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/circle_paint_dark" android:state_pressed="true" />
    <item android:drawable="@drawable/circle_paint" />
</selector>
<style name="FeedbackAppearance" parent="Widget.Design.FloatingActionButton">
    <item name="android:layout_width">@dimen/some_width</item>
    <item name="android:layout_height">@dimen/some_height</item>
    <item name="android:layout_margin">@dimen/std_gap</item>
    <item name="layout_anchorGravity">end|bottom</item>
    ...
</style>

// inside layout file
<View 
   style="@style/FeedbackAppearance"
   ...
/>
 <style name="Widget.Design.FloatingActionButton" parent="android:Widget">
    <item name="android:background">@drawable/design_fab_background</item>
    <item name="android:clickable">true</item>
    <item name="android:focusable">true</item>
    <item name="backgroundTint">?attr/colorAccent</item>
    <item name="fabSize">auto</item>
    <item name="elevation">@dimen/design_fab_elevation</item>
    <item name="hoveredFocusedTranslationZ">@dimen/design_fab_translation_z_hovered_focused</item>
    <item name="pressedTranslationZ">@dimen/design_fab_translation_z_pressed</item>
    <item name="rippleColor">?attr/colorControlHighlight</item>
    <item name="borderWidth">@dimen/design_fab_border_width</item>
    <item name="maxImageSize">@dimen/design_fab_image_size</item>
    <item name="showMotionSpec">@animator/design_fab_show_motion_spec</item>
    <item name="hideMotionSpec">@animator/design_fab_hide_motion_spec</item>
  </style>