Skip to content

Instantly share code, notes, and snippets.

@nicoqueijo
Created May 15, 2020 20:37
Show Gist options
  • Save nicoqueijo/5d5c42e809789c458af7f83159a377a5 to your computer and use it in GitHub Desktop.
Save nicoqueijo/5d5c42e809789c458af7f83159a377a5 to your computer and use it in GitHub Desktop.
class MainActivity : AppCompatActivity() {
...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
...
}
private fun addRow(currency: Currency) {
CurrencyRow(this).run row@{
initRow(currency)
dragLinearLayout.run {
addView(this@row)
setViewDraggable(this@row, this@row)
scrollableArea.setOnLongClickListener {
val indexToRemove = indexOfChild(this@row)
addedCurrencies.removeAt(indexToRemove).let {
removedCurrencies.push(it)
}
layoutTransition = LayoutTransition()
removeDragView(this@row)
layoutTransition = null
Snackbar.make(this, R.string.item_removed, Snackbar.LENGTH_SHORT)
.setAction(R.string.undo) {
layoutTransition = LayoutTransition()
addDragView(this@row, this@row, indexToRemove)
layoutTransition = null
addedCurrencies.add(indexToRemove, removedCurrencies.pop())
}.show()
true
}
}
}
}
...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment