Skip to content

Commit

Permalink
feat: Center title in action bar
Browse files Browse the repository at this point in the history
Co-authored-by: arsLan4k1390 <[email protected]>
  • Loading branch information
omg-xtao and arsLan4k1390 committed Feb 13, 2024
1 parent 12ee6b6 commit b5c7a0f
Show file tree
Hide file tree
Showing 25 changed files with 51 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
import java.util.ArrayList;

import tw.nekomimi.nekogram.NekoConfig;
import xyz.nextalone.nagram.NaConfig;

public class ActionBar extends FrameLayout {

Expand Down Expand Up @@ -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));
Expand All @@ -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));
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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")));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,12 @@ object NaConfig {
ConfigItem.configTypeBool,
true
)
val centerActionBarTitle =
addConfig(
"CenterActionBarTitle",
ConfigItem.configTypeBool,
false
)

private fun addConfig(
k: String,
Expand Down
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-ar-rSA/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">لمنع اللمس العرضي</string>
<string name="DisableDialogsFloatingButton">تعطيل مربعات الحوار الزر العائم</string>
<string name="DisableFlagSecure">تعطيل العلم الآمن</string>
<string name="CenterActionBarTitle">عنوان المركز في شريط العمل</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-cs-rCZ/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Aby se zabránilo náhodnému dotyku</string>
<string name="DisableDialogsFloatingButton">Zakázat plovoucí tlačítko dialogů</string>
<string name="DisableFlagSecure">Zakázat zabezpečení vlajky</string>
<string name="CenterActionBarTitle">Vycentrovat název na panelu akcí</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-da-rDK/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">For at forhindre utilsigtet berøring</string>
<string name="DisableDialogsFloatingButton">Deaktivér Dialoger Flydende Knap</string>
<string name="DisableFlagSecure">Deaktivér Flag Sikker</string>
<string name="CenterActionBarTitle">Centrér titel i handlingsbjælken</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-de-rDE/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Um zufällige Berührung zu verhindern</string>
<string name="DisableDialogsFloatingButton">Schwebende Dialoge deaktivieren</string>
<string name="DisableFlagSecure">Sichere Flagge deaktivieren</string>
<string name="CenterActionBarTitle">Titel in Aktionsleiste zentrieren</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-el-rGR/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Για την πρόληψη ακούσιας αφής</string>
<string name="DisableDialogsFloatingButton">Απενεργοποίηση Πλωτού Κουμπιού Dialogs</string>
<string name="DisableFlagSecure">Απενεργοποίηση Flag Secure</string>
<string name="CenterActionBarTitle">Κεντράρισμα τίτλου στη γραμμή ενεργειών</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-es-rES/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Para prevenir toques accidentales</string>
<string name="DisableDialogsFloatingButton">Desactivar el botón flotante de diálogos</string>
<string name="DisableFlagSecure">Desactivar Bandera Segura</string>
<string name="CenterActionBarTitle">Centrar título en la barra de acción</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-fi-rFI/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Estä vahingossa kosketus</string>
<string name="DisableDialogsFloatingButton">Poista Dialogien Kelluva Painike Käytöstä</string>
<string name="DisableFlagSecure">Poista Lipun Turvallisuus Käytöstä</string>
<string name="CenterActionBarTitle">Keskitä otsikko toimintopalkille</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-fr-rFR/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Pour éviter un toucher accidentel</string>
<string name="DisableDialogsFloatingButton">Désactiver le bouton flottant des boîtes de dialogue</string>
<string name="DisableFlagSecure">Désactiver Flag Secure</string>
<string name="CenterActionBarTitle">Centrer le titre dans la barre d\'action</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-it-rIT/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Per evitare tocchi accidentali</string>
<string name="DisableDialogsFloatingButton">Disabilita Le Finestre Pulsante Fluttuante</string>
<string name="DisableFlagSecure">Disabilita Flag Secure</string>
<string name="CenterActionBarTitle">Centra titolo nella barra delle azioni</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">偶発的なタッチを防ぐため</string>
<string name="DisableDialogsFloatingButton">ダイアログのフローティングボタンを無効化</string>
<string name="DisableFlagSecure">安全フラグを無効にする</string>
<string name="CenterActionBarTitle">アクションバーのタイトルを中心にする</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-nl-rNL/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Ongewenste aanraking voorkomen</string>
<string name="DisableDialogsFloatingButton">Zwevende knop dialoogknop uitschakelen</string>
<string name="DisableFlagSecure">Vlaggenbeveiliging uitschakelen</string>
<string name="CenterActionBarTitle">Centreer titel in actiebalk</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-no-rNO/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Å forhindre utilsiktet berøring</string>
<string name="DisableDialogsFloatingButton">Deaktiver dialoger med flytende knapp</string>
<string name="DisableFlagSecure">Deaktiver Flag sikker</string>
<string name="CenterActionBarTitle">Sentertittel i handlingslinjen</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Aby zapobiec przypadkowemu dotknięciu</string>
<string name="DisableDialogsFloatingButton">Wyłącz pływający przycisk dialogów</string>
<string name="DisableFlagSecure">Wyłącz bezpieczne flagi</string>
<string name="CenterActionBarTitle">Wyśrodkuj tytuł na pasku akcji</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Para prevenir toques acidentais</string>
<string name="DisableDialogsFloatingButton">Desativar Botão de Diálogos Flutuantes</string>
<string name="DisableFlagSecure">Desativar Sinalização Segura</string>
<string name="CenterActionBarTitle">Centralizar título na barra de ação</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-pt-rPT/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Para prevenir toques acidentais</string>
<string name="DisableDialogsFloatingButton">Desativar Botão de Diálogos Flutuantes</string>
<string name="DisableFlagSecure">Desativar Sinalização Segura</string>
<string name="CenterActionBarTitle">Centralizar título na barra de ação</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-ro-rRO/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Pentru a preveni atingerea accidentală</string>
<string name="DisableDialogsFloatingButton">Dezactivează dialogul cu butonul plutitor</string>
<string name="DisableFlagSecure">Dezactivează Steagul Securizat</string>
<string name="CenterActionBarTitle">Center title in action bar</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Во избежание случайного касания</string>
<string name="DisableDialogsFloatingButton">Отключить плавающую кнопку диалогов</string>
<string name="DisableFlagSecure">Отключить защиту флага</string>
<string name="CenterActionBarTitle">Название центра в панели действий</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-sv-rSE/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">För att förhindra oavsiktligt tryck</string>
<string name="DisableDialogsFloatingButton">Inaktivera dialoger flytande knapp</string>
<string name="DisableFlagSecure">Inaktivera flagga säkert</string>
<string name="CenterActionBarTitle">Centrera titel i åtgärdsfältet</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-uk-rUA/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">Щоб запобігти випадковому дотику</string>
<string name="DisableDialogsFloatingButton">Вимкнути плаваючу кнопку діалогу</string>
<string name="DisableFlagSecure">Вимкнути захист прапора</string>
<string name="CenterActionBarTitle">Центрувати заголовок в панелі дій</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">妈妈再也不用担心我会误触啦</string>
<string name="DisableDialogsFloatingButton">禁用主页浮动按钮</string>
<string name="DisableFlagSecure">Disable Flag Secure</string>
<string name="CenterActionBarTitle">标题居中</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values-zh-rTW/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">To prevent accidental touch</string>
<string name="DisableDialogsFloatingButton">Disable Dialogs Floating Button</string>
<string name="DisableFlagSecure">Disable Flag Secure</string>
<string name="CenterActionBarTitle">Center title in action bar</string>
</resources>
1 change: 1 addition & 0 deletions TMessagesProj/src/main/res/values/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,5 @@
<string name="DisableClickCommandToSendHint">To prevent accidental touch</string>
<string name="DisableDialogsFloatingButton">Disable Dialogs Floating Button</string>
<string name="DisableFlagSecure">Disable Flag Secure</string>
<string name="CenterActionBarTitle">Center title in action bar</string>
</resources>

0 comments on commit b5c7a0f

Please sign in to comment.