这时当我按下这些left and right arrow button
时,我想在按钮上看到这些类型的效果。默认情况下,Iphone/IOS
也会发生同样的事情。
我能做出这种效果吗?
我在这里提到了我想要的照片。
这里我使用了这个xml文件,但没有成功。
button_pressed.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"><shape>
<gradient android:angle="180" android:centerColor="#657377" android:endColor="#AFFFFFFF" android:startColor="#FFFFFFFF" android:type="linear"/>
<corners android:radius="10dp" />
</shape></item>
</selector>
修改
我使用android:background="@drawable/button_pressed.xml"
行,但我没有得到我想要的确实。
试过:
我根据Piyush的答案使用了这个xml文件,但我没有成功,我得到了这个效果。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="@color/transparent" />
</shape>
</item>
<item>
<shape
android:innerRadiusRatio="4"
android:shape="ring"
android:thicknessRatio="9"
android:useLevel="false" >
<gradient
android:endColor="#00000000"
android:gradientRadius="250"
android:startColor="#ffffffff"
android:type="radial" />
</shape>
</item>
</layer-list>
我同意顶部和底部部分切割,因为我在此按钮的布局空间有限。我们会在以后思考,但为什么它不像影子和alpha那样生效,而且像我提到的一样呢?
输出:
请帮助我如果有任何人对此有所了解。
先谢谢。
答案 0 :(得分:2)
形状必须径向拉伸,从白色到黑色向外褪色。
试试这个:
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#ffffffff"
android:endColor="#00000000"
android:gradientRadius="100"
android:type="radial"/>
</shape>
此外,您无法直接将其设置为按钮的背景。您必须创建一个选择器可绘制文件,您可以在其中根据按钮的状态指定不同的背景。在这种情况下,只有在按下按钮时才需要设置此背景。选择器看起来像这样:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/button_pressed"/>
<item android:state_selected="true" android:drawable="@drawable/button_pressed"/>
<item android:state_focussed="true" android:drawable="@drawable/button_pressed"/>
<item android:drawable="@android:color/transparent" />
</selector>
PS:建议在设计Android应用时复制iOS设计。有关Android设计指南,请参阅:http://developer.android.com/design/building-blocks/buttons.html
答案 1 :(得分:0)
可以尝试这个关于圆形,可以相应地设置你的颜色。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="@color/transparent" />
</shape>
</item>
<item>
<shape
android:shape="ring"
android:useLevel="false" >
<gradient
android:endColor="#00000000"
android:gradientRadius="200"
android:startColor="#ffffffff"
android:type="radial" />
</shape>
</item>