Skip to content

Instantly share code, notes, and snippets.

View mattiaferigutti's full-sized avatar
🔨
Building What's On My Mind

Mattia Ferigutti mattiaferigutti

🔨
Building What's On My Mind
View GitHub Profile
@mattiaferigutti
mattiaferigutti / build.gradle
Last active November 21, 2020 12:01
lottie gradle
dependencies {
...
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.airbnb.android:lottie:$lottieVersion' //3.4.0 right now
}
package com.mattiaferigutti.backdrop
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import kotlinx.android.synthetic.main.fragment_window.*
@mattiaferigutti
mattiaferigutti / onBottomSheetCallbacks.kt
Created November 6, 2020 11:03
Backdrop Listener to communicate between fragment and activity
package com.mattiaferigutti.backdrop
import android.view.View
interface OnBottomSheetCallbacks {
fun onStateChanged(bottomSheet: View, newState: Int)
}
@mattiaferigutti
mattiaferigutti / MainActivity.kt
Last active November 6, 2020 11:02
Backdrop MainActivity
package com.mattiaferigutti.backdrop
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.bottomsheet.BottomSheetBehavior
class MainActivity : AppCompatActivity() {
private var listener: OnBottomSheetCallbacks? = null
@mattiaferigutti
mattiaferigutti / GestureLockedBottomSheetBehavior.kt
Created November 6, 2020 10:52
block any gesture on the bottom sheet
package com.mattiaferigutti.backdrop
import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import android.view.View
import androidx.coordinatorlayout.widget.CoordinatorLayout
import com.google.android.material.bottomsheet.BottomSheetBehavior
class GestureLockedBottomSheetBehavior<V: View>(context: Context, attributeSet: AttributeSet?) : BottomSheetBehavior<V>(context, attributeSet) {
@mattiaferigutti
mattiaferigutti / corner.xml
Created November 6, 2020 10:45
top corners radius
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners
android:topLeftRadius="20dp"
android:topRightRadius="20dp"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/corner"
tools:context=".WindowFragment">
@mattiaferigutti
mattiaferigutti / activity_main.xml
Last active November 6, 2020 10:04
BackDrop in Android
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main_container"
android:background="@color/purple_500"
tools:context=".MainActivity">
@mattiaferigutti
mattiaferigutti / MainActivity.kt
Last active July 31, 2021 08:05
Get a file from assets ExoPlayer 2
package com.studio.mattiaferigutti.exoplayertest
import android.annotation.SuppressLint
import android.net.Uri
import android.os.Bundle
import android.util.Log
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.google.android.exoplayer2.*
import com.google.android.exoplayer2.source.ProgressiveMediaSource
@mattiaferigutti
mattiaferigutti / MainActivity.kt
Last active March 18, 2020 17:31
This code creates an animation for your path. The animation is a progress line that fill up. It goes from 0% to 100%.
package com.mattiaferigutti.pinkline
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)