fabControl実装

This commit is contained in:
ろむねこ 2024-07-05 10:35:47 +09:00
parent 05e09f281d
commit 0caed0860f
Signed by: Fujimatsu
GPG Key ID: FA1F39A1BA37D168

View File

@ -2,6 +2,7 @@ package one.nem.kidshift;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.View;
import androidx.activity.EdgeToEdge; import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
@ -14,11 +15,13 @@ import androidx.navigation.fragment.NavHostFragment;
import androidx.navigation.ui.NavigationUI; import androidx.navigation.ui.NavigationUI;
import com.google.android.material.bottomnavigation.BottomNavigationView; import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import javax.inject.Inject; import javax.inject.Inject;
import dagger.hilt.android.AndroidEntryPoint; import dagger.hilt.android.AndroidEntryPoint;
import one.nem.kidshift.data.UserSettings; import one.nem.kidshift.data.UserSettings;
import one.nem.kidshift.model.callback.FabEventCallback;
import one.nem.kidshift.utils.KSLogger; import one.nem.kidshift.utils.KSLogger;
import one.nem.kidshift.utils.factory.KSLoggerFactory; import one.nem.kidshift.utils.factory.KSLoggerFactory;
@ -30,6 +33,8 @@ public class MainActivity extends AppCompatActivity {
private KSLogger logger; private KSLogger logger;
private FloatingActionButton fab;
@Inject @Inject
UserSettings userSettings; UserSettings userSettings;
@ -71,6 +76,30 @@ public class MainActivity extends AppCompatActivity {
Intent intent = new Intent(this, LoginActivity.class); Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent); startActivity(intent);
} }
fab = findViewById(R.id.mainFab);
}
public class FabControl{
public void showFab() {
fab.setVisibility(View.VISIBLE);
}
public void hideFab() {
fab.setVisibility(View.GONE);
}
public void setFabIcon(int iconResId) {
fab.setImageResource(iconResId);
}
public void setFabEventCallback(FabEventCallback callback) {
fab.setOnClickListener(v -> callback.onClicked());
fab.setOnLongClickListener(v -> {
callback.onLongClicked();
return true;
});
}
} }
/** /**