Merge pull request #6207 from ByteHamster/multiline-home-section-titles

Support for multi-line home section titles
This commit is contained in:
ByteHamster 2022-12-03 16:41:58 +01:00 committed by GitHub
commit e4b6f70339
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 41 additions and 27 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout <androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
@ -12,32 +12,37 @@
<TextView <TextView
android:id="@+id/titleLabel" android:id="@+id/titleLabel"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignTop="@id/moreButton"
android:layout_alignBottom="@id/moreButton"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:gravity="center" android:textAlignment="textStart"
android:textAlignment="center"
android:textColor="?android:attr/textColorPrimary" android:textColor="?android:attr/textColorPrimary"
android:textSize="18sp" android:textSize="18sp"
android:layout_marginVertical="8dp"
app:layout_constraintWidth_max="wrap"
app:layout_constraintWidth_percent="0.6"
app:layout_constraintBottom_toBottomOf="@id/barrier"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintWidth_default="wrap"
app:layout_constraintEnd_toStartOf="@id/shuffleButton"
tools:text="Title" /> tools:text="Title" />
<ImageButton <ImageButton
android:id="@+id/shuffleButton" android:id="@+id/shuffleButton"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignBottom="@+id/titleLabel"
android:layout_alignParentTop="true"
android:layout_marginVertical="8dp" android:layout_marginVertical="8dp"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:layout_marginLeft="8dp" android:layout_marginLeft="8dp"
android:layout_toEndOf="@+id/titleLabel"
android:layout_toRightOf="@+id/titleLabel"
android:background="?attr/selectableItemBackgroundBorderless" android:background="?attr/selectableItemBackgroundBorderless"
android:visibility="gone" android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/barrier"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/titleLabel"
app:layout_constraintEnd_toStartOf="@id/numNewItemsLabel"
tools:visibility="visible" tools:visibility="visible"
app:srcCompat="@drawable/ic_shuffle" /> app:srcCompat="@drawable/ic_shuffle" />
@ -45,47 +50,56 @@
android:id="@+id/numNewItemsLabel" android:id="@+id/numNewItemsLabel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_alignBottom="@+id/titleLabel"
android:layout_alignParentTop="true"
android:layout_marginVertical="12dp" android:layout_marginVertical="12dp"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_toEndOf="@+id/titleLabel"
android:layout_toRightOf="@+id/titleLabel"
android:background="@drawable/bg_pill" android:background="@drawable/bg_pill"
android:gravity="center"
android:paddingHorizontal="8dp" android:paddingHorizontal="8dp"
android:textAlignment="center" android:textAlignment="center"
android:textColor="?attr/colorPrimary" android:textColor="?attr/colorPrimary"
android:textSize="16sp" android:textSize="16sp"
android:visibility="gone" android:visibility="gone"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/barrier"
app:layout_constraintStart_toEndOf="@id/shuffleButton"
app:layout_constraintEnd_toStartOf="@id/moreButton"
tools:visibility="visible" tools:visibility="visible"
tools:text="6" /> tools:text="6" />
<Button <Button
android:id="@+id/moreButton" android:id="@+id/moreButton"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:minWidth="0dp" android:minWidth="0dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:paddingVertical="0dp" android:paddingVertical="0dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:textAlignment="textEnd"
app:layout_constraintWidth_max="wrap"
app:layout_constraintWidth_percent="0.4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@id/barrier"
tools:text="@string/discover_more" tools:text="@string/discover_more"
style="@style/Widget.MaterialComponents.Button.TextButton" /> style="@style/Widget.MaterialComponents.Button.TextButton" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="bottom"
app:constraint_referenced_ids="titleLabel,moreButton" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView" android:id="@+id/recyclerView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/moreButton" android:layout_below="@+id/moreButton"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:clipToPadding="false" android:clipToPadding="false"
android:clipToOutline="false" android:clipToOutline="false"
android:clipChildren="false" android:clipChildren="false"
android:paddingHorizontal="16dp" /> android:paddingHorizontal="16dp"
app:layout_constraintTop_toBottomOf="@id/barrier"
tools:listitem="@layout/horizontal_itemlist_item"
tools:itemCount="1" />
</RelativeLayout> </androidx.constraintlayout.widget.ConstraintLayout>