Adjust and Make older APIs recognize the tooltip onClick too

Settings Tooltip is now centered, Just as the heading in 
`SettingsActivity`
This commit is contained in:
Finn M Glas 2020-05-21 19:05:55 +02:00
parent e3816ab399
commit 552bc1002e
No known key found for this signature in database
GPG key ID: 25037A2E81AB459C
4 changed files with 39 additions and 22 deletions

View file

@ -62,6 +62,13 @@ class MainActivity : AppCompatActivity(),
// Start by showing the settings icon
showSettingsIcon()
// As older APIs somehow do not recognize the xml defined onClick
findViewById<View>(R.id.settingstooltip).setOnClickListener() {
openSettings()
true
}
}
override fun onStart(){
@ -75,6 +82,8 @@ class MainActivity : AppCompatActivity(),
mDetector = GestureDetectorCompat(this, this)
mDetector.setOnDoubleTapListener(this)
windowManager.defaultDisplay.getMetrics(displayMetrics)
}
override fun onResume() {
@ -116,7 +125,6 @@ class MainActivity : AppCompatActivity(),
override fun onFling(e1: MotionEvent, e2: MotionEvent, dX: Float, dY: Float): Boolean {
windowManager.defaultDisplay.getMetrics(displayMetrics)
val width = displayMetrics.widthPixels
val height = displayMetrics.heightPixels
@ -139,10 +147,12 @@ class MainActivity : AppCompatActivity(),
// Tooltip
override fun onSingleTapConfirmed(event: MotionEvent): Boolean {
when(settingsIconShown) {
true -> hideSettingsIcon()
true -> {
hideSettingsIcon()
}
false -> showSettingsIcon()
}
return true
return false
}
private fun showSettingsIcon(){
@ -165,15 +175,15 @@ class MainActivity : AppCompatActivity(),
fun settingsIconOnTouch(view: View){ openSettings() }
override fun onTouchEvent(event: MotionEvent): Boolean {
return if (mDetector.onTouchEvent(event)) { true } else { super.onTouchEvent(event) }
return if (mDetector.onTouchEvent(event)) { false } else { super.onTouchEvent(event) }
}
/* TODO: Remove those. For now they are necessary
* because this inherits from GestureDetector.OnGestureListener */
override fun onDoubleTap(event: MotionEvent): Boolean { return true }
override fun onDoubleTapEvent(event: MotionEvent): Boolean { return true }
override fun onDown(event: MotionEvent): Boolean { return true }
override fun onScroll(e1: MotionEvent, e2: MotionEvent, dX: Float, dY: Float): Boolean { return true }
override fun onDoubleTap(event: MotionEvent): Boolean { return false }
override fun onDoubleTapEvent(event: MotionEvent): Boolean { return false }
override fun onDown(event: MotionEvent): Boolean { return false }
override fun onScroll(e1: MotionEvent, e2: MotionEvent, dX: Float, dY: Float): Boolean { return false }
override fun onShowPress(event: MotionEvent) {}
override fun onSingleTapUp(event: MotionEvent): Boolean { return true }
override fun onSingleTapUp(event: MotionEvent): Boolean { return false }
}

View file

@ -12,6 +12,7 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.viewpager.widget.ViewPager
import com.finnmglas.launcher.ui.main.SectionsPagerAdapter
import com.google.android.material.tabs.TabLayout
import kotlinx.android.synthetic.main.activity_settings.*
class SettingsActivity : AppCompatActivity() {