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's Answer に従ってこの 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>

このボタンのレイアウトのスペースが限られているため、上部と下部のカットに同意しました。後で考えますが、なぜシャドウやアルファのように効果を発揮しないのですか?

出力:ここに画像の説明を入力

誰かがこれについて考えているなら、私を助けてください。

前もって感謝します。

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: Android アプリの設計時に 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 に答える