Skip to content

Instantly share code, notes, and snippets.

@afrishberg
afrishberg / TapAwareFrameLayout.kt
Last active September 5, 2021 08:40
A frame layout that is aware of taps but doesn't intercept touch events from children
package com.example.ui.views
import android.content.Context
import android.util.AttributeSet
import android.view.GestureDetector
import android.view.MotionEvent
import android.widget.FrameLayout
typealias TapListener = () -> Unit
@afrishberg
afrishberg / MainActivity.kt
Created January 14, 2021 21:07
flip rotation
private fun flipRotation(adapter: Adapter) {
val newList = adapter.data.mapIndexed { i, data ->
if (i == 0) data.copy(rotated = data.rotated.not()) else data
}
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val dataItem = data[position]
holder.textView.text = dataItem.id.toString()
holder.textView.animate().rotation(
if (dataItem.rotated) 180.0f else 0.0f
).setDuration(400).start()
}
@afrishberg
afrishberg / Data.kt
Created January 11, 2021 21:57
Data entry
data class Data(
val id: Int,
var rotated: Boolean = false
)