Pap*_*ght 8 html css java android button
这是我第一次发帖.我一直在使用这个网站作为一个很好的资源.但我遇到了一个问题.我尝试过将阴影效果应用到我的ImageButton但是它有效吗?我想要实现的是你可以在浮动气泡上看到的阴影(材料设计).我有一个圆形的ImageButton,但我希望在它周围添加一个阴影.我怎样才能做到这一点?
这是circle_button.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#C62666"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
这是circle_button_pressed.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#E92D6C"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
这是我的选择器,它将两个drawable组合成一个.button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/circle_button"
android:state_focused="true"
android:state_pressed="true" />
<item android:drawable="@drawable/circle_button_pressed"
android:state_focused="false"
android:state_pressed="true" />
<item android:drawable="@drawable/circle_button_pressed"
android:state_focused="true" />
<item android:drawable="@drawable/circle_button"
android:state_focused="false"
android:state_pressed="false" />
</selector>
Run Code Online (Sandbox Code Playgroud)
这就是我将它应用到我的ImageButton的方式
<ImageButton
android:id="@+id/btn_apply"
android:layout_width="68dp"
android:layout_height="68dp"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/scrollView1"
android:layout_marginRight="45dp"
android:layout_marginTop="94dp"
android:adjustViewBounds="true"
android:background="@drawable/button"
android:scaleType="fitCenter"
android:src="@drawable/apply_two" />
Run Code Online (Sandbox Code Playgroud)
又一次呢?如何在按钮上添加阴影?谢谢你的时间.
小智 0
您可以结合使用标高和带有阴影的可绘制背景。以下是修改 ImageButton 来实现此效果的方法:首先,将 ImageButton 包裹在 CardView 内以利用高程属性,该属性会自动添加阴影。
<androidx.cardview.widget.CardView
android:id="@+id/cardView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="34dp" <!-- it should be half of your button's width or height -->
app:cardElevation="8dp">
<ImageButton
android:id="@+id/btn_apply"
android:layout_width="68dp"
android:layout_height="68dp"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/apply_two"
android:background="@null" />
</androidx.cardview.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
其次,确保在 build.gradle 文件中添加 CardView 依赖项:
implementation 'androidx.cardview:cardview:1.0.0'
Run Code Online (Sandbox Code Playgroud)
第三,调整layout_width、layout_height和app:cardCornerRadius值以适合您的设计。app:cardCornerRadius 应该是按钮宽度或高度的一半才能创建圆形。
最后,从 ImageButton 中删除 android:background="@drawable/button" 属性,以允许 CardView 处理阴影。
| 归档时间: |
|
| 查看次数: |
8385 次 |
| 最近记录: |