2021 Dec. 11.
出典 [Android & Kotlin] Snackbar で通知とアクションを実装しカスタマイズする
build.bradle(:app)
implementation 'com.google.android.material:material:x.x.x'が必要
plugins { id 'com.android.application' id 'kotlin-android' } android { compileSdk 31 defaultConfig { applicationId "YOUR.PACKAGE" minSdk 24 targetSdk 31 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } buildFeatures { viewBinding true } } dependencies { implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.4.0' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.2' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' }
MainActivity.kt
package net.sytes.rokkosan.myapplication import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.google.android.material.snackbar.Snackbar import net.sytes.rokkosan.myapplication.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setContentView(R.layout.activity_main) val binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) val rootLayout = binding.root val snackbar = Snackbar.make(rootLayout , "Hello Snackbar", Snackbar.LENGTH_LONG) snackbar.show() } }