diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java
index 8a7ecf8c7..37a5ebc08 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java
@@ -194,7 +194,11 @@ public class ControlCenterv2 extends AppCompatActivity
// Initialize bottom navigation
BottomNavigationView navigationView = findViewById(R.id.bottom_nav_bar);
- navigationView.setVisibility(activityTrackerAvailable ? View.VISIBLE : View.GONE);
+ if (activityTrackerAvailable && prefs.getBoolean("display_bottom_navigation_bar", true)) {
+ navigationView.setVisibility(View.VISIBLE);
+ } else {
+ navigationView.setVisibility(View.GONE);
+ }
navigationView.setOnItemSelectedListener(menuItem -> {
switch (menuItem.getItemId()) {
case R.id.bottom_nav_dashboard:
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java
index c45be8b7f..4cb76457c 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java
@@ -45,7 +45,6 @@ import android.widget.Toast;
import androidx.core.app.ActivityCompat;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.preference.ListPreference;
-import androidx.preference.MultiSelectListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
@@ -56,8 +55,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -75,7 +72,6 @@ import nodomain.freeyourgadget.gadgetbridge.devices.pebble.PebbleSettingsActivit
import nodomain.freeyourgadget.gadgetbridge.devices.qhybrid.ConfigActivity;
import nodomain.freeyourgadget.gadgetbridge.devices.zetime.ZeTimePreferenceActivity;
import nodomain.freeyourgadget.gadgetbridge.externalevents.TimeChangeReceiver;
-import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
import nodomain.freeyourgadget.gadgetbridge.model.Weather;
import nodomain.freeyourgadget.gadgetbridge.util.AndroidUtils;
import nodomain.freeyourgadget.gadgetbridge.util.FileUtils;
@@ -244,6 +240,21 @@ public class SettingsActivity extends AbstractSettingsActivityV2 {
});
}
+ pref = findPreference("display_add_device_fab");
+ if (pref != null) {
+ pref.setOnPreferenceChangeListener((preference, newValue) -> {
+ sendThemeChangeIntent();
+ return true;
+ });
+ }
+ pref = findPreference("display_bottom_navigation_bar");
+ if (pref != null) {
+ pref.setOnPreferenceChangeListener((preference, newVal) -> {
+ sendThemeChangeIntent();
+ return true;
+ });
+ }
+
final Preference unit = findPreference(PREF_MEASUREMENT_SYSTEM);
if (unit != null) {
unit.setOnPreferenceChangeListener((preference, newVal) -> {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5ae3a95ad..2df890e0c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2791,4 +2791,7 @@
Notifications will be read aloud through the headphones
Speak Notifications Aloud
Calls and notifications
+ Bottom navigation bar
+ Switch between main screens using the navigation bar or horizontal swiping
+ Switch between main screens only using horizontal swiping
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index c010bab55..40ae1f9e5 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -33,6 +33,14 @@
android:summaryOn="@string/pref_display_add_device_fab_on"
android:title="@string/pref_display_add_device_fab"
app:iconSpaceReserved="false" />
+