Android 用“查看”;按「;影响
安卓工作室3.6 在我的xml布局中: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
<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>