Reworked bottom nav bar (in portrait)

This commit is contained in:
Sylvain Berfini 2025-05-14 09:29:01 +02:00
parent 02cbb45de9
commit 502c6413ee
6 changed files with 21 additions and 17 deletions

View file

@ -14,7 +14,7 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/bottom_nav_bar" android:id="@+id/bottom_nav_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/portrait_nav_bar_height" android:layout_height="wrap_content"
android:elevation="16dp" android:elevation="16dp"
android:background="?attr/color_background_contrast_in_dark_mode"> android:background="?attr/color_background_contrast_in_dark_mode">
@ -24,8 +24,10 @@
android:onClick="@{() -> viewModel.navigateToContacts()}" android:onClick="@{() -> viewModel.navigateToContacts()}"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:drawableTop="@drawable/address_book" android:drawableTop="@drawable/address_book"
android:drawablePadding="10dp" android:drawablePadding="4dp"
android:drawableTint="@{viewModel.contactsSelected ? @color/main1_500 : @color/main2_600, default=@color/main2_600}" android:drawableTint="@{viewModel.contactsSelected ? @color/main1_500 : @color/main2_600, default=@color/main2_600}"
android:text="@string/bottom_navigation_contacts_label" android:text="@string/bottom_navigation_contacts_label"
textFont="@{viewModel.contactsSelected ? NotoSansFont.NotoSansBold : NotoSansFont.NotoSansRegular}" textFont="@{viewModel.contactsSelected ? NotoSansFont.NotoSansBold : NotoSansFont.NotoSansRegular}"
@ -40,9 +42,10 @@
android:onClick="@{() -> viewModel.navigateToHistory()}" android:onClick="@{() -> viewModel.navigateToHistory()}"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="18dp" android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:drawableTop="@drawable/phone" android:drawableTop="@drawable/phone"
android:drawablePadding="10dp" android:drawablePadding="4dp"
android:drawableTint="@{viewModel.callsSelected ? @color/main1_500 : @color/main2_600, default=@color/main2_600}" android:drawableTint="@{viewModel.callsSelected ? @color/main1_500 : @color/main2_600, default=@color/main2_600}"
android:text="@string/bottom_navigation_calls_label" android:text="@string/bottom_navigation_calls_label"
textFont="@{viewModel.callsSelected ? NotoSansFont.NotoSansBold : NotoSansFont.NotoSansRegular}" textFont="@{viewModel.callsSelected ? NotoSansFont.NotoSansBold : NotoSansFont.NotoSansRegular}"
@ -57,10 +60,10 @@
android:layout_width="@dimen/unread_count_indicator_size" android:layout_width="@dimen/unread_count_indicator_size"
android:layout_height="@dimen/unread_count_indicator_size" android:layout_height="@dimen/unread_count_indicator_size"
android:layout_marginStart="50dp" android:layout_marginStart="50dp"
android:layout_marginTop="5dp" android:layout_marginTop="2dp"
android:text="@{String.valueOf(viewModel.missedCallsCount), default=`1`}" android:text="@{String.valueOf(viewModel.missedCallsCount), default=`1`}"
android:visibility="@{viewModel.missedCallsCount > 0 ? View.VISIBLE : View.GONE}" android:visibility="@{viewModel.missedCallsCount > 0 ? View.VISIBLE : View.GONE}"
app:layout_constraintTop_toTopOf="@id/calls" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="@id/calls" app:layout_constraintStart_toStartOf="@id/calls"
app:layout_constraintEnd_toEndOf="@id/calls"/> app:layout_constraintEnd_toEndOf="@id/calls"/>
@ -70,9 +73,10 @@
android:onClick="@{() -> viewModel.navigateToConversations()}" android:onClick="@{() -> viewModel.navigateToConversations()}"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="18dp" android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:drawableTop="@drawable/chat_teardrop_text" android:drawableTop="@drawable/chat_teardrop_text"
android:drawablePadding="10dp" android:drawablePadding="4dp"
android:drawableTint="@{viewModel.conversationsSelected ? @color/main1_500 : @color/main2_600, default=@color/main2_600}" android:drawableTint="@{viewModel.conversationsSelected ? @color/main1_500 : @color/main2_600, default=@color/main2_600}"
android:text="@string/bottom_navigation_conversations_label" android:text="@string/bottom_navigation_conversations_label"
android:visibility="@{viewModel.hideConversations ? View.GONE : View.VISIBLE}" android:visibility="@{viewModel.hideConversations ? View.GONE : View.VISIBLE}"
@ -88,10 +92,10 @@
android:layout_width="@dimen/unread_count_indicator_size" android:layout_width="@dimen/unread_count_indicator_size"
android:layout_height="@dimen/unread_count_indicator_size" android:layout_height="@dimen/unread_count_indicator_size"
android:layout_marginStart="50dp" android:layout_marginStart="50dp"
android:layout_marginTop="5dp" android:layout_marginTop="2dp"
android:text="@{String.valueOf(viewModel.unreadMessages), default=`1`}" android:text="@{String.valueOf(viewModel.unreadMessages), default=`1`}"
android:visibility="@{viewModel.unreadMessages > 0 &amp;&amp; !viewModel.hideConversations ? View.VISIBLE : View.GONE}" android:visibility="@{viewModel.unreadMessages > 0 &amp;&amp; !viewModel.hideConversations ? View.VISIBLE : View.GONE}"
app:layout_constraintTop_toTopOf="@id/conversations" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="@id/conversations" app:layout_constraintStart_toStartOf="@id/conversations"
app:layout_constraintEnd_toEndOf="@id/conversations"/> app:layout_constraintEnd_toEndOf="@id/conversations"/>
@ -101,9 +105,10 @@
android:onClick="@{() -> viewModel.navigateToMeetings()}" android:onClick="@{() -> viewModel.navigateToMeetings()}"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="18dp" android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:drawableTop="@drawable/video_conference" android:drawableTop="@drawable/video_conference"
android:drawablePadding="10dp" android:drawablePadding="4dp"
android:drawableTint="@{viewModel.meetingsSelected ? @color/main1_500 : @color/main2_600, default=@color/main2_600}" android:drawableTint="@{viewModel.meetingsSelected ? @color/main1_500 : @color/main2_600, default=@color/main2_600}"
android:text="@string/bottom_navigation_meetings_label" android:text="@string/bottom_navigation_meetings_label"
android:visibility="@{viewModel.hideMeetings ? View.GONE : View.VISIBLE}" android:visibility="@{viewModel.hideMeetings ? View.GONE : View.VISIBLE}"

View file

@ -126,7 +126,7 @@
<include <include
android:id="@+id/bottom_nav_bar" android:id="@+id/bottom_nav_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/portrait_nav_bar_height" android:layout_height="wrap_content"
layout="@layout/bottom_nav_bar" layout="@layout/bottom_nav_bar"
bind:viewModel="@{viewModel}" bind:viewModel="@{viewModel}"
app:layout_constraintBottom_toBottomOf="parent" /> app:layout_constraintBottom_toBottomOf="parent" />

View file

@ -174,7 +174,7 @@
<include <include
android:id="@+id/bottom_nav_bar" android:id="@+id/bottom_nav_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/portrait_nav_bar_height" android:layout_height="wrap_content"
layout="@layout/bottom_nav_bar" layout="@layout/bottom_nav_bar"
bind:viewModel="@{viewModel}" bind:viewModel="@{viewModel}"
app:layout_constraintBottom_toBottomOf="parent" /> app:layout_constraintBottom_toBottomOf="parent" />

View file

@ -136,7 +136,7 @@
<include <include
android:id="@+id/bottom_nav_bar" android:id="@+id/bottom_nav_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/portrait_nav_bar_height" android:layout_height="wrap_content"
layout="@layout/bottom_nav_bar" layout="@layout/bottom_nav_bar"
bind:viewModel="@{viewModel}" bind:viewModel="@{viewModel}"
app:layout_constraintBottom_toBottomOf="parent" /> app:layout_constraintBottom_toBottomOf="parent" />

View file

@ -79,7 +79,7 @@
<include <include
android:id="@+id/bottom_nav_bar" android:id="@+id/bottom_nav_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/portrait_nav_bar_height" android:layout_height="wrap_content"
layout="@layout/bottom_nav_bar" layout="@layout/bottom_nav_bar"
bind:viewModel="@{viewModel}" bind:viewModel="@{viewModel}"
app:layout_constraintBottom_toBottomOf="parent" /> app:layout_constraintBottom_toBottomOf="parent" />

View file

@ -5,7 +5,6 @@
<dimen name="screen_bottom_margin">10dp</dimen> <dimen name="screen_bottom_margin">10dp</dimen>
<dimen name="portrait_nav_bar_height">85dp</dimen>
<dimen name="landscape_nav_bar_width">75dp</dimen> <dimen name="landscape_nav_bar_width">75dp</dimen>
<dimen name="sliding_pane_left_fragment_width">350dp</dimen> <dimen name="sliding_pane_left_fragment_width">350dp</dimen>
<dimen name="sliding_pane_right_fragment_width">300dp</dimen> <dimen name="sliding_pane_right_fragment_width">300dp</dimen>