29

これは奇妙な質問だと思いますが、ImageView で onClicklistener を設定してみましたが、うまくいきました。しかし問題は、ユーザーがクリックを感知できないことです。つまり、他のモバイル環境 (Apple iPhone など) で作業したことがある場合、他の環境で画像をクリックすると、画像に影響を与えて、画像がクリックされたことをユーザーが理解できるようになります。

メソッドを使用してアルファを設定しようとsetalphaしましたが、機能しません。onFocusListener の実装でも同じことがうまく機能していますが。クリック時に画像を変更する別の方法を提案できますか...

私はアンドロイドが初めてなので、簡単なアニメーションのニュアンスも学んでいません...同じために使用できる簡単なアニメーションがあれば教えてください。

ありがとう!

4

4 に答える 4

88
   <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

<alpha
android:fromAlpha = "1.0"
android:toAlpha = "0.5"
android:duration = "300">
</alpha>
<scale
android:fromXScale = "1"
android:toXScale = "0.9" 
android:fromYScale = "1"
android:toYScale = "0.9" 
android:pivotX="50%"
android:pivotY="50%" 
android:duration = "50">
</scale>
</set>

これが正しい方法かどうかはわかりませんが、前述のようにアニメーションを定義するとうまくいきました。今は与えるしかない

public void onClick(View v) {
v.startAnimation(AnimationUtils.loadAnimation(Context, R.anim.image_click));
//Your other coding if present
}

OnClick メソッドで変更すると、変更が表示されます...

于 2010-02-23T13:46:24.987 に答える
9

サポートするさまざまな状態のさまざまな画像を含むドローアブルを使用する必要があります。次に例を示します。

<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/img_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/img_focused" />
    <item android:drawable="@drawable/img_at_rest" />
</selector>

このファイルに img.xml などの名前を付けてドローアブル ディレクトリに置き、ImageView の画像を img.xml に設定します。 @drawable/img_at_restは使用しようとしている元の画像で、@drawable/img_pressed@drawable/img_focusedはそれぞれの状態に使用する画像です。ユースケースに適している場合は、画像の代わりに単色を使用することもできます。

于 2010-02-16T05:37:47.537 に答える
2

アニメ/anim_item.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <alpha
    android:fromAlpha="0.0"
    android:toAlpha="1."
    android:duration="1000">
  </alpha>
</set>

そして追加:

myView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.anim_item));
于 2016-06-28T19:39:18.257 に答える
0

機能するかどうかはわかりませんが、setSelected() http://developer.android.com/reference/android/widget/ImageView.html#setSelected(boolean)を試しましたか

于 2010-02-16T05:03:44.520 に答える