Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Created January 9, 2024 12:09
Show Gist options
  • Save sunmeat/724e982947b71f81db7c3f23fac3eaae to your computer and use it in GitHub Desktop.
Save sunmeat/724e982947b71f81db7c3f23fac3eaae to your computer and use it in GitHub Desktop.
floating action button m3 example
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context=".MainActivity">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
app:srcCompat="@android:drawable/ic_dialog_email" />
</RelativeLayout>
==========================================================================================
MainActivity.java:
package com.sunmeat.myapplication;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(view -> {
Snackbar snackbar = Snackbar.make(view, "FAB был нажат", Snackbar.LENGTH_SHORT);
View snackbarView = snackbar.getView();
Snackbar.SnackbarLayout.LayoutParams params = (Snackbar.SnackbarLayout.LayoutParams) snackbarView.getLayoutParams();
params.gravity = Gravity.TOP;
snackbarView.setLayoutParams(params);
snackbar.show();
});
}
}
==========================================================================================
build.gradle.kts: (уже и так должно быть по дефолту)
dependencies {
...
implementation("com.google.android.material:material:1.11.0")
...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment