14
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Android】5分でFloatingActionButtonを実装する

Last updated at Posted at 2019-12-29

いつも忘れるのでメモ。所要時間5分。

Material Componentsを使えるようにする

dependenciesに追加(←これを忘れがち)。

build.gradle
dependencies {
    implementation 'com.google.android.material:material:1.1.0-alpha06' // 追加
}

最新バージョンは下記から確認できる。
https://github.com/material-components/material-components-android/releases

Fabをレイアウトに追加する

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        app:srcCompat="@drawable/ic_add"
        app:backgroundTint="#00BCD4"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

表示する画像を指定

app:srcCompat="@drawable/ic_add"

app > src > res > drawable あたりに作っておいたVectorAssetをapp:srcCompatで指定する。
スクリーンショット 2019-12-29 19.38.49.png

背景の色を指定

app:backgroundTint="#00BCD4"

好きな色をapp:backgroundTintで指定する。

タップしたときの処理を追加する

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 以下を追加
        val fab: View = findViewById(R.id.fab)
        fab.setOnClickListener { view ->
            Snackbar.make(view, "Fabを押しました!", Snackbar.LENGTH_LONG)
                .setAction("Action", null).show()
        }
    }
}

setOnClickListenerを入れるだけ。
FabタップでSnackbarが表示されるようになる。

タップ前 タップ後

参考

14
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?