2

在这里,当我当时按下这些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 以及我提到的所有那些一样生效?

输出 :在此处输入图像描述

如果有人对此有任何想法,请帮助我。

提前致谢。

4

2 回答 2

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:不建议在设计安卓应用时复制iOS设计。Android 设计指南请参考:http: //developer.android.com/design/building-blocks/buttons.html

于 2013-05-13T03:22:34.210 回答
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>

于 2013-05-13T07:40:28.037 回答