From b5c7a0ffc8cc9bd8f5aafb9e14614e92313dd913 Mon Sep 17 00:00:00 2001 From: xtaodada Date: Tue, 13 Feb 2024 15:38:21 +0800 Subject: [PATCH] feat: Center title in action bar Co-authored-by: arsLan4k1390 <65973611+arsLan4k1390@users.noreply.github.com> --- .../org/telegram/ui/ActionBar/ActionBar.java | 28 +++++++++++++++---- .../settings/NekoGeneralSettingsActivity.java | 1 + .../kotlin/xyz/nextalone/nagram/NaConfig.kt | 6 ++++ .../src/main/res/values-ar-rSA/strings_na.xml | 1 + .../src/main/res/values-cs-rCZ/strings_na.xml | 1 + .../src/main/res/values-da-rDK/strings_na.xml | 1 + .../src/main/res/values-de-rDE/strings_na.xml | 1 + .../src/main/res/values-el-rGR/strings_na.xml | 1 + .../src/main/res/values-es-rES/strings_na.xml | 1 + .../src/main/res/values-fi-rFI/strings_na.xml | 1 + .../src/main/res/values-fr-rFR/strings_na.xml | 1 + .../src/main/res/values-it-rIT/strings_na.xml | 1 + .../src/main/res/values-ja-rJP/strings_na.xml | 1 + .../src/main/res/values-nl-rNL/strings_na.xml | 1 + .../src/main/res/values-no-rNO/strings_na.xml | 1 + .../src/main/res/values-pl-rPL/strings_na.xml | 1 + .../src/main/res/values-pt-rBR/strings_na.xml | 1 + .../src/main/res/values-pt-rPT/strings_na.xml | 1 + .../src/main/res/values-ro-rRO/strings_na.xml | 1 + .../src/main/res/values-ru-rRU/strings_na.xml | 1 + .../src/main/res/values-sv-rSE/strings_na.xml | 1 + .../src/main/res/values-uk-rUA/strings_na.xml | 1 + .../src/main/res/values-zh-rCN/strings_na.xml | 1 + .../src/main/res/values-zh-rTW/strings_na.xml | 1 + .../src/main/res/values/strings_na.xml | 1 + 25 files changed, 51 insertions(+), 6 deletions(-) diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBar.java b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBar.java index 2de590e386..0becb29adc 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBar.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBar.java @@ -68,6 +68,7 @@ import java.util.ArrayList; import tw.nekomimi.nekogram.NekoConfig; +import xyz.nextalone.nagram.NaConfig; public class ActionBar extends FrameLayout { @@ -385,7 +386,7 @@ private void createSubtitleTextView() { return; } subtitleTextView = new SimpleTextView(getContext()); - subtitleTextView.setGravity(Gravity.LEFT); + subtitleTextView.setGravity(NaConfig.INSTANCE.getCenterActionBarTitle().Bool() ? Gravity.CENTER : Gravity.LEFT); subtitleTextView.setVisibility(GONE); subtitleTextView.setTextColor(getThemedColor(Theme.key_actionBarDefaultSubtitle)); addView(subtitleTextView, 0, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP)); @@ -396,7 +397,7 @@ public void createAdditionalSubtitleTextView() { return; } additionalSubtitleTextView = new SimpleTextView(getContext()); - additionalSubtitleTextView.setGravity(Gravity.LEFT); + additionalSubtitleTextView.setGravity(NaConfig.INSTANCE.getCenterActionBarTitle().Bool() ? Gravity.CENTER : Gravity.LEFT); additionalSubtitleTextView.setVisibility(GONE); additionalSubtitleTextView.setTextColor(getThemedColor(Theme.key_actionBarDefaultSubtitle)); addView(additionalSubtitleTextView, 0, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP)); @@ -438,7 +439,7 @@ private void createTitleTextView(int i) { return; } titleTextView[i] = new SimpleTextView(getContext()); - titleTextView[i].setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL); + titleTextView[i].setGravity((NaConfig.INSTANCE.getCenterActionBarTitle().Bool() ? Gravity.CENTER : Gravity.LEFT) | Gravity.CENTER_VERTICAL); if (titleColorToSet != 0) { titleTextView[i].setTextColor(titleColorToSet); } else { @@ -1275,6 +1276,9 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { for (int i = 0; i < 2; i++) { if (titleTextView[0] != null && titleTextView[0].getVisibility() != GONE || subtitleTextView != null && subtitleTextView.getVisibility() != GONE) { int availableWidth = width - (menu != null ? menu.getMeasuredWidth() : 0) - dp(16) - textLeft - titleRightMargin; + if (NaConfig.INSTANCE.getCenterActionBarTitle().Bool()) { + availableWidth = width - dp(120); + } if (((fromBottom && i == 0) || (!fromBottom && i == 1)) && overlayTitleAnimation && titleAnimationRunning) { titleTextView[i].setTextSize(!AndroidUtilities.isTablet() && getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? 18 : 20); @@ -1370,17 +1374,29 @@ protected void onLayout(boolean changed, int left, int top, int right, int botto textTop = (getCurrentActionBarHeight() - titleTextView[i].getTextHeight()) / 2; } } - titleTextView[i].layout(textLeft, additionalTop + textTop - titleTextView[i].getPaddingTop(), textLeft + titleTextView[i].getMeasuredWidth(), additionalTop + textTop + titleTextView[i].getTextHeight() - titleTextView[i].getPaddingTop() + titleTextView[i].getPaddingBottom()); + if (NaConfig.INSTANCE.getCenterActionBarTitle().Bool()) { + titleTextView[i].layout(getMeasuredWidth() / 2 - titleTextView[i].getMeasuredWidth() / 2, additionalTop + textTop - titleTextView[i].getPaddingTop(), getMeasuredWidth() / 2 + titleTextView[i].getMeasuredWidth() / 2, additionalTop + textTop + titleTextView[i].getTextHeight() - titleTextView[i].getPaddingTop() + titleTextView[i].getPaddingBottom()); + } else { + titleTextView[i].layout(textLeft, additionalTop + textTop - titleTextView[i].getPaddingTop(), textLeft + titleTextView[i].getMeasuredWidth(), additionalTop + textTop + titleTextView[i].getTextHeight() - titleTextView[i].getPaddingTop() + titleTextView[i].getPaddingBottom()); + } } } if (subtitleTextView != null && subtitleTextView.getVisibility() != GONE) { int textTop = getCurrentActionBarHeight() / 2 + (getCurrentActionBarHeight() / 2 - subtitleTextView.getTextHeight()) / 2 - dp(!AndroidUtilities.isTablet() && getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? 1 : 1); - subtitleTextView.layout(textLeft, additionalTop + textTop, textLeft + subtitleTextView.getMeasuredWidth(), additionalTop + textTop + subtitleTextView.getTextHeight()); + if (NaConfig.INSTANCE.getCenterActionBarTitle().Bool()) { + subtitleTextView.layout(getMeasuredWidth() / 2 - subtitleTextView.getMeasuredWidth() / 2, additionalTop + textTop, getMeasuredWidth() / 2 + subtitleTextView.getMeasuredWidth() / 2, additionalTop + textTop + subtitleTextView.getTextHeight()); + } else { + subtitleTextView.layout(textLeft, additionalTop + textTop, textLeft + subtitleTextView.getMeasuredWidth(), additionalTop + textTop + subtitleTextView.getTextHeight()); + } } if (additionalSubtitleTextView != null && additionalSubtitleTextView.getVisibility() != GONE) { int textTop = getCurrentActionBarHeight() / 2 + (getCurrentActionBarHeight() / 2 - additionalSubtitleTextView.getTextHeight()) / 2 - dp(!AndroidUtilities.isTablet() && getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? 1 : 1); - additionalSubtitleTextView.layout(textLeft, additionalTop + textTop, textLeft + additionalSubtitleTextView.getMeasuredWidth(), additionalTop + textTop + additionalSubtitleTextView.getTextHeight()); + if (NaConfig.INSTANCE.getCenterActionBarTitle().Bool()) { + additionalSubtitleTextView.layout(getMeasuredWidth() / 2 - additionalSubtitleTextView.getMeasuredWidth() / 2, additionalTop + textTop, getMeasuredWidth() / 2 + additionalSubtitleTextView.getMeasuredWidth() / 2, additionalTop + textTop + additionalSubtitleTextView.getTextHeight()); + } else { + additionalSubtitleTextView.layout(textLeft, additionalTop + textTop, textLeft + additionalSubtitleTextView.getMeasuredWidth(), additionalTop + textTop + additionalSubtitleTextView.getTextHeight()); + } } if (avatarSearchImageView != null) { diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoGeneralSettingsActivity.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoGeneralSettingsActivity.java index 307287b38c..92b583cac0 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoGeneralSettingsActivity.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoGeneralSettingsActivity.java @@ -204,6 +204,7 @@ public class NekoGeneralSettingsActivity extends BaseNekoXSettingsActivity { private final AbstractConfigCell chatBlurAlphaValueRow = cellGroup.appendCell(new ConfigCellCustom("ChatBlurAlphaValue", ConfigCellCustom.CUSTOM_ITEM_CharBlurAlpha, NekoConfig.forceBlurInChat.Bool())); private final AbstractConfigCell disableDialogsFloatingButtonRow = cellGroup.appendCell(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableDialogsFloatingButton())); + private final AbstractConfigCell centerActionBarTitleRow = cellGroup.appendCell(new ConfigCellTextCheck(NaConfig.INSTANCE.getCenterActionBarTitle())); private final AbstractConfigCell divider5 = cellGroup.appendCell(new ConfigCellDivider()); private final AbstractConfigCell header6 = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("PrivacyTitle"))); diff --git a/TMessagesProj/src/main/kotlin/xyz/nextalone/nagram/NaConfig.kt b/TMessagesProj/src/main/kotlin/xyz/nextalone/nagram/NaConfig.kt index ce4114a7f4..3b06dd4379 100644 --- a/TMessagesProj/src/main/kotlin/xyz/nextalone/nagram/NaConfig.kt +++ b/TMessagesProj/src/main/kotlin/xyz/nextalone/nagram/NaConfig.kt @@ -536,6 +536,12 @@ object NaConfig { ConfigItem.configTypeBool, true ) + val centerActionBarTitle = + addConfig( + "CenterActionBarTitle", + ConfigItem.configTypeBool, + false + ) private fun addConfig( k: String, diff --git a/TMessagesProj/src/main/res/values-ar-rSA/strings_na.xml b/TMessagesProj/src/main/res/values-ar-rSA/strings_na.xml index a3ca795b6d..c73ba84af0 100644 --- a/TMessagesProj/src/main/res/values-ar-rSA/strings_na.xml +++ b/TMessagesProj/src/main/res/values-ar-rSA/strings_na.xml @@ -124,4 +124,5 @@ لمنع اللمس العرضي تعطيل مربعات الحوار الزر العائم تعطيل العلم الآمن + عنوان المركز في شريط العمل diff --git a/TMessagesProj/src/main/res/values-cs-rCZ/strings_na.xml b/TMessagesProj/src/main/res/values-cs-rCZ/strings_na.xml index b9bae1b36e..56c5f9a82f 100644 --- a/TMessagesProj/src/main/res/values-cs-rCZ/strings_na.xml +++ b/TMessagesProj/src/main/res/values-cs-rCZ/strings_na.xml @@ -124,4 +124,5 @@ Aby se zabránilo náhodnému dotyku Zakázat plovoucí tlačítko dialogů Zakázat zabezpečení vlajky + Vycentrovat název na panelu akcí diff --git a/TMessagesProj/src/main/res/values-da-rDK/strings_na.xml b/TMessagesProj/src/main/res/values-da-rDK/strings_na.xml index d0ed2554b3..0b046e5590 100644 --- a/TMessagesProj/src/main/res/values-da-rDK/strings_na.xml +++ b/TMessagesProj/src/main/res/values-da-rDK/strings_na.xml @@ -124,4 +124,5 @@ For at forhindre utilsigtet berøring Deaktivér Dialoger Flydende Knap Deaktivér Flag Sikker + Centrér titel i handlingsbjælken diff --git a/TMessagesProj/src/main/res/values-de-rDE/strings_na.xml b/TMessagesProj/src/main/res/values-de-rDE/strings_na.xml index 0ac45c46db..14743db35e 100644 --- a/TMessagesProj/src/main/res/values-de-rDE/strings_na.xml +++ b/TMessagesProj/src/main/res/values-de-rDE/strings_na.xml @@ -124,4 +124,5 @@ Um zufällige Berührung zu verhindern Schwebende Dialoge deaktivieren Sichere Flagge deaktivieren + Titel in Aktionsleiste zentrieren diff --git a/TMessagesProj/src/main/res/values-el-rGR/strings_na.xml b/TMessagesProj/src/main/res/values-el-rGR/strings_na.xml index 020afa1ae6..b3f6f09f0e 100644 --- a/TMessagesProj/src/main/res/values-el-rGR/strings_na.xml +++ b/TMessagesProj/src/main/res/values-el-rGR/strings_na.xml @@ -124,4 +124,5 @@ Για την πρόληψη ακούσιας αφής Απενεργοποίηση Πλωτού Κουμπιού Dialogs Απενεργοποίηση Flag Secure + Κεντράρισμα τίτλου στη γραμμή ενεργειών diff --git a/TMessagesProj/src/main/res/values-es-rES/strings_na.xml b/TMessagesProj/src/main/res/values-es-rES/strings_na.xml index 4edbca4aec..66be6a2d93 100644 --- a/TMessagesProj/src/main/res/values-es-rES/strings_na.xml +++ b/TMessagesProj/src/main/res/values-es-rES/strings_na.xml @@ -124,4 +124,5 @@ Para prevenir toques accidentales Desactivar el botón flotante de diálogos Desactivar Bandera Segura + Centrar título en la barra de acción diff --git a/TMessagesProj/src/main/res/values-fi-rFI/strings_na.xml b/TMessagesProj/src/main/res/values-fi-rFI/strings_na.xml index a0d9fdd6fd..0e503f5ac1 100644 --- a/TMessagesProj/src/main/res/values-fi-rFI/strings_na.xml +++ b/TMessagesProj/src/main/res/values-fi-rFI/strings_na.xml @@ -124,4 +124,5 @@ Estä vahingossa kosketus Poista Dialogien Kelluva Painike Käytöstä Poista Lipun Turvallisuus Käytöstä + Keskitä otsikko toimintopalkille diff --git a/TMessagesProj/src/main/res/values-fr-rFR/strings_na.xml b/TMessagesProj/src/main/res/values-fr-rFR/strings_na.xml index 8afc568a1f..82af7f6a05 100644 --- a/TMessagesProj/src/main/res/values-fr-rFR/strings_na.xml +++ b/TMessagesProj/src/main/res/values-fr-rFR/strings_na.xml @@ -124,4 +124,5 @@ Pour éviter un toucher accidentel Désactiver le bouton flottant des boîtes de dialogue Désactiver Flag Secure + Centrer le titre dans la barre d\'action diff --git a/TMessagesProj/src/main/res/values-it-rIT/strings_na.xml b/TMessagesProj/src/main/res/values-it-rIT/strings_na.xml index 52342c17b8..76b3e86e42 100644 --- a/TMessagesProj/src/main/res/values-it-rIT/strings_na.xml +++ b/TMessagesProj/src/main/res/values-it-rIT/strings_na.xml @@ -124,4 +124,5 @@ Per evitare tocchi accidentali Disabilita Le Finestre Pulsante Fluttuante Disabilita Flag Secure + Centra titolo nella barra delle azioni diff --git a/TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml b/TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml index 8e3c3f200a..be3770e72d 100644 --- a/TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml +++ b/TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml @@ -124,4 +124,5 @@ 偶発的なタッチを防ぐため ダイアログのフローティングボタンを無効化 安全フラグを無効にする + アクションバーのタイトルを中心にする diff --git a/TMessagesProj/src/main/res/values-nl-rNL/strings_na.xml b/TMessagesProj/src/main/res/values-nl-rNL/strings_na.xml index ea5944ec1e..cba01adbe2 100644 --- a/TMessagesProj/src/main/res/values-nl-rNL/strings_na.xml +++ b/TMessagesProj/src/main/res/values-nl-rNL/strings_na.xml @@ -124,4 +124,5 @@ Ongewenste aanraking voorkomen Zwevende knop dialoogknop uitschakelen Vlaggenbeveiliging uitschakelen + Centreer titel in actiebalk diff --git a/TMessagesProj/src/main/res/values-no-rNO/strings_na.xml b/TMessagesProj/src/main/res/values-no-rNO/strings_na.xml index 114cc81b23..8e5aaf37c1 100644 --- a/TMessagesProj/src/main/res/values-no-rNO/strings_na.xml +++ b/TMessagesProj/src/main/res/values-no-rNO/strings_na.xml @@ -124,4 +124,5 @@ Å forhindre utilsiktet berøring Deaktiver dialoger med flytende knapp Deaktiver Flag sikker + Sentertittel i handlingslinjen diff --git a/TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml b/TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml index 6583b74875..3ae4f8a71b 100644 --- a/TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml +++ b/TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml @@ -124,4 +124,5 @@ Aby zapobiec przypadkowemu dotknięciu Wyłącz pływający przycisk dialogów Wyłącz bezpieczne flagi + Wyśrodkuj tytuł na pasku akcji diff --git a/TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml b/TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml index bb01f3c4be..67ef8b0049 100644 --- a/TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml +++ b/TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml @@ -124,4 +124,5 @@ Para prevenir toques acidentais Desativar Botão de Diálogos Flutuantes Desativar Sinalização Segura + Centralizar título na barra de ação diff --git a/TMessagesProj/src/main/res/values-pt-rPT/strings_na.xml b/TMessagesProj/src/main/res/values-pt-rPT/strings_na.xml index bb01f3c4be..67ef8b0049 100644 --- a/TMessagesProj/src/main/res/values-pt-rPT/strings_na.xml +++ b/TMessagesProj/src/main/res/values-pt-rPT/strings_na.xml @@ -124,4 +124,5 @@ Para prevenir toques acidentais Desativar Botão de Diálogos Flutuantes Desativar Sinalização Segura + Centralizar título na barra de ação diff --git a/TMessagesProj/src/main/res/values-ro-rRO/strings_na.xml b/TMessagesProj/src/main/res/values-ro-rRO/strings_na.xml index f6c528dd1f..4bea8d91cb 100644 --- a/TMessagesProj/src/main/res/values-ro-rRO/strings_na.xml +++ b/TMessagesProj/src/main/res/values-ro-rRO/strings_na.xml @@ -124,4 +124,5 @@ Pentru a preveni atingerea accidentală Dezactivează dialogul cu butonul plutitor Dezactivează Steagul Securizat + Center title in action bar diff --git a/TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml b/TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml index 4da2175c3e..db12536dbd 100644 --- a/TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml +++ b/TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml @@ -124,4 +124,5 @@ Во избежание случайного касания Отключить плавающую кнопку диалогов Отключить защиту флага + Название центра в панели действий diff --git a/TMessagesProj/src/main/res/values-sv-rSE/strings_na.xml b/TMessagesProj/src/main/res/values-sv-rSE/strings_na.xml index 938148ad81..4a2c035c5c 100644 --- a/TMessagesProj/src/main/res/values-sv-rSE/strings_na.xml +++ b/TMessagesProj/src/main/res/values-sv-rSE/strings_na.xml @@ -124,4 +124,5 @@ För att förhindra oavsiktligt tryck Inaktivera dialoger flytande knapp Inaktivera flagga säkert + Centrera titel i åtgärdsfältet diff --git a/TMessagesProj/src/main/res/values-uk-rUA/strings_na.xml b/TMessagesProj/src/main/res/values-uk-rUA/strings_na.xml index fd1bc7b65f..f4db2eec25 100644 --- a/TMessagesProj/src/main/res/values-uk-rUA/strings_na.xml +++ b/TMessagesProj/src/main/res/values-uk-rUA/strings_na.xml @@ -124,4 +124,5 @@ Щоб запобігти випадковому дотику Вимкнути плаваючу кнопку діалогу Вимкнути захист прапора + Центрувати заголовок в панелі дій diff --git a/TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml b/TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml index 3c1b52471f..99599662e9 100644 --- a/TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml +++ b/TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml @@ -124,4 +124,5 @@ 妈妈再也不用担心我会误触啦 禁用主页浮动按钮 Disable Flag Secure + 标题居中 diff --git a/TMessagesProj/src/main/res/values-zh-rTW/strings_na.xml b/TMessagesProj/src/main/res/values-zh-rTW/strings_na.xml index f7f5eb14b4..28df61b0e9 100644 --- a/TMessagesProj/src/main/res/values-zh-rTW/strings_na.xml +++ b/TMessagesProj/src/main/res/values-zh-rTW/strings_na.xml @@ -124,4 +124,5 @@ To prevent accidental touch Disable Dialogs Floating Button Disable Flag Secure + Center title in action bar diff --git a/TMessagesProj/src/main/res/values/strings_na.xml b/TMessagesProj/src/main/res/values/strings_na.xml index 3590c3ff32..b7eda7939e 100644 --- a/TMessagesProj/src/main/res/values/strings_na.xml +++ b/TMessagesProj/src/main/res/values/strings_na.xml @@ -124,4 +124,5 @@ To prevent accidental touch Disable Dialogs Floating Button Disable Flag Secure + Center title in action bar