2017-12-17 55 views
0

私はCircleShapeを含むフラグメントclass FlipFragment : Fragment() を持っています。 CircleShapeを押すと、アニメーションでリソースを変更するメソッドを呼び出します。アニメーションが機能しているときに、私はそれを行う必要があります - onTouchは無効です。私はそれをどのようにすることができますか?私はコトリンのonTouchを無効にする方法

class FlipFragment : Fragment() { 
    private var layout = R.layout.view_flip 
    private lateinit var CircleShape: ImageView 


    override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, 
     savedInstanceState: Bundle?): View? { 
    var view: View = inflater!!.inflate(layout, container, false) 
    CircleShape = view.findViewById<ImageView>(R.id.fShapeView) 
    Log.i("TAG", CircleShape.isClickable.toString()) 
    CircleShape.setOnClickLiastener { mechanics() } 

    return view 
    } 
    private fun mechanics() { 
    var mechanics = Mechanics(context, this.CircleShape, R.drawable.front_circle, 
     R.drawable.back_circle, 
     fCircleShapeView) 
    mechanics.animation() ///when this method is working - onTouch should be disable 
    mechanics.random() 

    } 

答えて

0

リスナーをAnimationListenerとして追加してみます。 例:

Mechanics.addAnimationListener(new Animation.AnimationListener() { 
    @Override 
    public void onAnimationStart(Animation animation) { 
     yourView.setEnabled(false); 
    } 

    @Override 
    public void onAnimationEnd(Animation animation) { 
     yourView.setEnabled(true); 
    } 

    @Override 
    public void onAnimationRepeat(Animation animation) { 

    } 
}) 
関連する問題