Make bottom left toolbar corner rounded

This commit is contained in:
Kirill Kamakin
2021-11-21 15:41:27 +03:00
parent 316ae55013
commit 0121e90c99
3 changed files with 26 additions and 13 deletions

View File

@@ -5,6 +5,8 @@ import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.shape.CornerFamily
import com.google.android.material.shape.MaterialShapeDrawable
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import gq.kirmanak.mealient.databinding.MainActivityBinding import gq.kirmanak.mealient.databinding.MainActivityBinding
import gq.kirmanak.mealient.ui.auth.AuthenticationViewModel import gq.kirmanak.mealient.ui.auth.AuthenticationViewModel
@@ -22,9 +24,26 @@ class MainActivity : AppCompatActivity() {
binding = MainActivityBinding.inflate(layoutInflater) binding = MainActivityBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
setSupportActionBar(binding.toolbar) setSupportActionBar(binding.toolbar)
setToolbarRoundCorner()
listenToAuthStatuses() listenToAuthStatuses()
} }
private fun setToolbarRoundCorner() {
Timber.v("setToolbarRoundCorner() called")
val drawables = listOf(
binding.toolbar.background as? MaterialShapeDrawable,
)
Timber.d("setToolbarRoundCorner: drawables = $drawables")
val radius = resources.getDimension(R.dimen.main_activity_toolbar_corner_radius)
for (drawable in drawables) {
drawable?.apply {
shapeAppearanceModel = shapeAppearanceModel.toBuilder()
.setBottomLeftCorner(CornerFamily.ROUNDED, radius)
.build()
}
}
}
private fun listenToAuthStatuses() { private fun listenToAuthStatuses() {
Timber.v("listenToAuthStatuses() called") Timber.v("listenToAuthStatuses() called")
authViewModel.authenticationStatuses().observe(this) { authViewModel.authenticationStatuses().observe(this) {

View File

@@ -6,21 +6,14 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".MainActivity"> tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar_holder" android:id="@+id/toolbar"
android:layout_width="match_parent" style="@style/Widget.MaterialComponents.Toolbar.Primary"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> android:layout_width="match_parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
style="@style/Widget.MaterialComponents.Toolbar.Primary"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.fragment.app.FragmentContainerView <androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host" android:id="@+id/nav_host"
@@ -31,6 +24,6 @@
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar_holder" app:layout_constraintTop_toBottomOf="@+id/toolbar"
app:navGraph="@navigation/nav_graph" /> app:navGraph="@navigation/nav_graph" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -5,4 +5,5 @@
<dimen name="height_view_holder_recipe_image">180dp</dimen> <dimen name="height_view_holder_recipe_image">180dp</dimen>
<dimen name="fragment_recipe_info_image_height">@dimen/height_view_holder_recipe_image</dimen> <dimen name="fragment_recipe_info_image_height">@dimen/height_view_holder_recipe_image</dimen>
<dimen name="bottom_padding_instructions_list_fragment_recipe_info">30dp</dimen> <dimen name="bottom_padding_instructions_list_fragment_recipe_info">30dp</dimen>
<dimen name="main_activity_toolbar_corner_radius">32dp</dimen>
</resources> </resources>