Skip to content

Commit

Permalink
changed to scrollable
Browse files Browse the repository at this point in the history
  • Loading branch information
raphael-dario committed Aug 9, 2022
1 parent 4be3111 commit 0867d02
Show file tree
Hide file tree
Showing 3 changed files with 149 additions and 136 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.labstyle.darioweekdaypicker

import android.content.Context
import android.util.AttributeSet
import android.widget.HorizontalScrollView
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import java.text.DateFormatSymbols
Expand All @@ -12,7 +13,7 @@ class DarioWeekDayPicker @JvmOverloads constructor(
attrs: AttributeSet? = null,
defStyle: Int = 0,
defStyleRes: Int = 0
): ConstraintLayout(context, attrs, defStyle, defStyleRes) {
): HorizontalScrollView(context, attrs, defStyle, defStyleRes) {

private val symbols = DateFormatSymbols(Locale.getDefault())
private val textViews = arrayListOf<TextView>()
Expand Down
281 changes: 146 additions & 135 deletions darioweekdaypicker/src/main/res/layout/weekdays_layout.xml
Original file line number Diff line number Diff line change
@@ -1,149 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:scrollbars="none"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools">
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle1"
app:layout_constraintVertical_chainStyle="spread"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:background="@drawable/circle_selected"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/circle2"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle1"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:layout_marginEnd="@dimen/circle_margin"
android:background="@drawable/circle_selected"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="@+id/circle2"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Sun"
style="@style/WeekdayTextSelected"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle2"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle1"
app:layout_constraintEnd_toStartOf="@+id/circle3"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Sun"
style="@style/WeekdayTextSelected"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle2"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:layout_marginEnd="@dimen/circle_margin"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle1"
app:layout_constraintEnd_toStartOf="@+id/circle3"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Mon"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle3"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle2"
app:layout_constraintEnd_toStartOf="@+id/circle4"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Mon"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle3"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:layout_marginEnd="@dimen/circle_margin"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle2"
app:layout_constraintEnd_toStartOf="@+id/circle4"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Tue"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle4"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle3"
app:layout_constraintEnd_toStartOf="@+id/circle5"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Tue"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle4"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:layout_marginEnd="@dimen/circle_margin"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle3"
app:layout_constraintEnd_toStartOf="@+id/circle5"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Wed"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle5"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle4"
app:layout_constraintEnd_toStartOf="@+id/circle6"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Wed"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle5"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:layout_marginEnd="@dimen/circle_margin"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle4"
app:layout_constraintEnd_toStartOf="@+id/circle6"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Thu"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle6"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle5"
app:layout_constraintEnd_toStartOf="@+id/circle7"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Thu"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle6"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle5"
app:layout_constraintEnd_toStartOf="@+id/circle7"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Fri"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle7"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Fri"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/circle7"
android:layout_width="@dimen/circle_size"
android:layout_height="@dimen/circle_size"
android:layout_marginStart="@dimen/circle_margin"
android:background="@drawable/circle_not_selected"
app:layout_constraintStart_toEndOf="@+id/circle6"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Sat"
style="@style/WeekdayText"/>
app:layout_constraintBottom_toBottomOf="parent">
<TextView
android:id="@+id/text7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:text="Sat"
style="@style/WeekdayText"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

</HorizontalScrollView>

1 change: 1 addition & 0 deletions darioweekdaypicker/src/main/res/values/dimens.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="circle_size">44dp</dimen>
<dimen name="circle_margin">5dp</dimen>
</resources>

0 comments on commit 0867d02

Please sign in to comment.