как дать границы при движении изображения на экране - PullRequest
0 голосов
/ 24 июня 2018

Мое изображение движется по экрану, но оно не ограничено, то есть оно может перейти в верхнюю или правую сторону или в левую сторону или вниз и исчезнуть.Также я хочу выпить за текущую позицию изображения.Как я могу получить это?

package com.example.viram.assignment
import android.app.Activity
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.MotionEvent
import android.view.View
import android.widget.ImageView
import android.widget.LinearLayout.LayoutParams
import com.example.viram.assignment.R
import android.R.attr.data
import android.content.ClipData
import android.os.PersistableBundle
import android.view.View.DragShadowBuilder
import android.view.View.OnTouchListener
import android.view.DragEvent
import android.view.View.OnDragListener
import android.webkit.WebChromeClient
import android.widget.TextView

class imageposition : AppCompatActivity() {

    var img: ImageView? = null
    var xCoordinate: Float? = null
    var yCoordinate: Float? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_imageposition)
        img = findViewById<ImageView>(R.id.image)
        img?.setOnTouchListener(OnTouchListener { view, event ->
            when (event.actionMasked) {
                MotionEvent.ACTION_DOWN -> {
                    xCoordinate = view.x - event.rawX
                    yCoordinate = view.y - event.rawY
                }

                MotionEvent.ACTION_MOVE -> view.animate().x(event.rawX + 
                    xCoordinate as Float).y(event.rawY + yCoordinate as Float).setDuration(0).start()
                else -> return@OnTouchListener false
            }
            true
        })
    }
}
...