2

在这里,当我在这些时候按这些left and right arrow button我希望看到按钮上的这些类型的效果。这些相同的事情在默认情况下发生在Iphone/IOSAndroid:图像按钮或按钮突出显示效果时按

我可以做这种类型的效果吗?

在这里我提到了图片究竟是我想要的。

enter image description here

在这里,我用这个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"线,但我没有得到这正是我想要。

尝试:

我用这个xml文件按的Piyush的答案,但我没有得到成功,我收到这样的效果。

<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> 

我同意顶部和底部部分削减,因为我在这个按钮的布局空间有限。我们稍后会考虑,但为什么它没有像阴影和阿尔法一样起作用,以及像我提到的一样?

OUTPUT:enter image description here

请帮助我,如果任何身体有这个想法。

在此先感谢。

+0

你得到任何解决这个?即使我想达到相同的效果 – Goofy 2013-08-30 05:51:44

+0

@Goofy没有:(你有吗? – 2013-08-30 08:00:17

+0

然后你怎么管理,这种效果?我试图达到这个效果以及 – Goofy 2013-08-31 08:55:35

回答

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

+0

感谢您的回复..我用,但我没有得到半径形状..我在矩形模式下获得效果。 – 2013-05-13 07:23:27

+0

请确保您设置为源箭头的可绘制箭头在箭头之外是透明的。还要确保按钮的大小足以容纳此高亮背景。另外,如果您可以发布在使用我的解决方案后获得的效果,我将能够更好地对其进行评论。 – ps2010 2013-05-14 04:58:14

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> 

+0

谢谢你的回答..所以我必须使用@ ps2010的答案,但只改变你的答案形状XML文件? – 2013-05-13 08:15:13

+0

@Sam_k是的,你可以检查状态按或仅针对形状。 – PiyushMishra 2013-05-13 08:22:52

+0

雅我使用,但我越来越椭圆形,而不是半径形状..我认为我必须设置阿尔法也..因为你可以看到从图像中心到外部颜色逐渐变成白色到黑色 – 2013-05-13 08:24:35