mirror of https://github.com/M66B/FairEmail.git
Added option to disable appbar scroll
This commit is contained in:
parent
79b458f708
commit
a2fd648dcf
|
@ -106,8 +106,10 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
|
|||
|
||||
@Override
|
||||
public void setContentView(View view) {
|
||||
LayoutInflater inflater = LayoutInflater.from(this);
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
boolean hide_toolbar = prefs.getBoolean("hide_toolbar", !BuildConfig.PLAY_STORE_RELEASE);
|
||||
|
||||
LayoutInflater inflater = LayoutInflater.from(this);
|
||||
ViewGroup holder = (ViewGroup) inflater.inflate(R.layout.toolbar_holder, null);
|
||||
|
||||
AppBarLayout appbar = holder.findViewById(R.id.appbar);
|
||||
|
@ -115,6 +117,13 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc
|
|||
View placeholder = holder.findViewById(R.id.placeholder);
|
||||
|
||||
toolbar.setPopupTheme(getThemeId());
|
||||
if (hide_toolbar) {
|
||||
AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
|
||||
params.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL
|
||||
| AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS);
|
||||
toolbar.setLayoutParams(params);
|
||||
}
|
||||
|
||||
setSupportActionBar(toolbar);
|
||||
|
||||
holder.removeView(placeholder);
|
||||
|
|
|
@ -143,7 +143,7 @@ public class FragmentOptions extends FragmentBase {
|
|||
"cards", "beige", "tabular_card_bg", "shadow_unread", "shadow_border", "shadow_highlight", "dividers", "tabular_unread_bg",
|
||||
"portrait2", "portrait2c", "portrait_min_size", "landscape", "landscape_min_size",
|
||||
"column_width",
|
||||
"nav_categories", "nav_last_sync", "nav_count", "nav_unseen_drafts", "nav_count_pinned", "show_unexposed",
|
||||
"hide_toolbar", "nav_categories", "nav_last_sync", "nav_count", "nav_unseen_drafts", "nav_count_pinned", "show_unexposed",
|
||||
"indentation", "date", "date_week", "date_fixed", "date_bold", "date_time", "threading", "threading_unread",
|
||||
"show_filtered",
|
||||
"highlight_unread", "highlight_color", "color_stripe", "color_stripe_wide",
|
||||
|
|
|
@ -92,6 +92,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
|||
private SwitchCompat swOpenPane;
|
||||
private TextView tvColumnWidth;
|
||||
private SeekBar sbColumnWidth;
|
||||
private SwitchCompat swHideToolbar;
|
||||
private SwitchCompat swNavOptions;
|
||||
private SwitchCompat swNavCategories;
|
||||
private SwitchCompat swNavLastSync;
|
||||
|
@ -212,7 +213,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
|||
"date", "date_week", "date_fixed", "date_bold", "date_time", "group_category",
|
||||
"cards", "beige", "tabular_card_bg", "shadow_unread", "shadow_border", "shadow_highlight", "dividers", "tabular_unread_bg",
|
||||
"portrait2", "portrait2c", "landscape", "close_pane", "open_pane", "column_width",
|
||||
"nav_options", "nav_categories", "nav_last_sync", "nav_count", "nav_unseen_drafts", "nav_count_pinned", "show_unexposed",
|
||||
"hide_toolbar", "nav_options", "nav_categories", "nav_last_sync", "nav_count", "nav_unseen_drafts", "nav_count_pinned", "show_unexposed",
|
||||
"threading", "threading_unread", "indentation", "seekbar", "actionbar", "actionbar_swap", "actionbar_color",
|
||||
"highlight_unread", "highlight_color", "color_stripe", "color_stripe_wide",
|
||||
"avatars", "bimi", "gravatars", "libravatars", "favicons", "favicons_partial", "favicons_manifest", "generated_icons", "identicons",
|
||||
|
@ -269,6 +270,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
|||
swOpenPane = view.findViewById(R.id.swOpenPane);
|
||||
tvColumnWidth = view.findViewById(R.id.tvColumnWidth);
|
||||
sbColumnWidth = view.findViewById(R.id.sbColumnWidth);
|
||||
swHideToolbar = view.findViewById(R.id.swHideToolbar);
|
||||
swNavOptions = view.findViewById(R.id.swNavOptions);
|
||||
swNavCategories = view.findViewById(R.id.swNavCategories);
|
||||
swNavLastSync = view.findViewById(R.id.swNavLastSync);
|
||||
|
@ -635,6 +637,13 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
|||
}
|
||||
});
|
||||
|
||||
swHideToolbar.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
prefs.edit().putBoolean("hide_toolbar", checked).apply();
|
||||
}
|
||||
});
|
||||
|
||||
swNavOptions.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
|
@ -1555,6 +1564,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
|
|||
tvColumnWidth.setText(getString(R.string.title_advanced_column_width, NF.format(column_width)));
|
||||
sbColumnWidth.setProgress(column_width);
|
||||
|
||||
swHideToolbar.setChecked(prefs.getBoolean("hide_toolbar", !BuildConfig.PLAY_STORE_RELEASE));
|
||||
swNavOptions.setChecked(prefs.getBoolean("nav_options", true));
|
||||
swNavCategories.setChecked(prefs.getBoolean("nav_categories", false));
|
||||
swNavLastSync.setChecked(prefs.getBoolean("nav_last_sync", true));
|
||||
|
|
|
@ -586,6 +586,17 @@
|
|||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/swHideToolbar"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:text="@string/title_advanced_hide_toolbar"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvCaptionNavigation"
|
||||
app:switchPadding="12dp" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/swNavOptions"
|
||||
android:layout_width="0dp"
|
||||
|
@ -594,7 +605,7 @@
|
|||
android:text="@string/title_advanced_nav_options"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvCaptionNavigation"
|
||||
app:layout_constraintTop_toBottomOf="@id/swHideToolbar"
|
||||
app:switchPadding="12dp" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_scrollFlags="scroll|enterAlways"
|
||||
app:theme="@style/actionBarStyle">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
|
|
@ -572,6 +572,7 @@
|
|||
<string name="title_advanced_close_pane">Collapse row or column when closing a conversation</string>
|
||||
<string name="title_advanced_open_pane">Start with two rows or two columns</string>
|
||||
<string name="title_advanced_column_width">Message column width / row height: %1$s %%</string>
|
||||
<string name="title_advanced_hide_toolbar">Hide top toolbar when scrolling messages</string>
|
||||
<string name="title_advanced_nav_options">Show navigation menu options</string>
|
||||
<string name="title_advanced_nav_categories">Show account categories in the navigation menu</string>
|
||||
<string name="title_advanced_nav_pin">Pin navigation menu</string>
|
||||
|
|
Loading…
Reference in New Issue