Skip to content

Commit

Permalink
#27: Tweaking Beta View & Hiscores
Browse files Browse the repository at this point in the history
  • Loading branch information
Entreco committed Dec 14, 2018
1 parent b09fca1 commit b01fb97
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 24 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
package nl.entreco.dartsscorecard.hiscores
package nl.entreco.dartsscorecard.base

import android.view.View
import nl.entreco.dartsscorecard.databinding.ActivityHiscoreBinding
import android.view.ViewTreeObserver
import androidx.viewpager.widget.ViewPager

class HiScoreAnimator(val binding: ActivityHiscoreBinding) {
private val pager = binding.hiscorePager
private val prev = binding.hiscorePrev.also {
flyOutStart(it)
}
class PagerAnimator(private val pager: ViewPager, private val prev: View, private val next: View) {

private val next = binding.hiscoreNext.also {
flyOutEnd(it)
init {
pager.viewTreeObserver.addOnPreDrawListener(object : ViewTreeObserver.OnPreDrawListener {
override fun onPreDraw(): Boolean {
pager.viewTreeObserver.removeOnPreDrawListener(this)
onPageSelected(0)
return true
}
})
}

fun onPageSelected(position: Int) {
Expand Down Expand Up @@ -39,4 +42,4 @@ class HiScoreAnimator(val binding: ActivityHiscoreBinding) {
private fun flyInEnd(view: View) {
view.animate().alpha(1F).translationX(0F).scaleX(1F).scaleY(1F).start()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import androidx.databinding.DataBindingUtil
import androidx.lifecycle.Observer
import androidx.viewpager.widget.ViewPager
import nl.entreco.dartsscorecard.R
import nl.entreco.dartsscorecard.base.PagerAnimator
import nl.entreco.dartsscorecard.base.ViewModelActivity
import nl.entreco.dartsscorecard.databinding.ActivityHiscoreBinding
import nl.entreco.dartsscorecard.di.hiscore.HiscoreComponent
Expand All @@ -19,12 +20,15 @@ class HiScoreActivity : ViewModelActivity() {
private val component: HiscoreComponent by componentProvider { it.plus(HiscoreModule()) }
private val viewModel: HiScoreViewModel by viewModelProvider { component.viewModel() }
private val pageAdapter: HiScorePager by lazy { component.pager() }
private val animator: HiScoreAnimator by lazy { HiScoreAnimator(binding) }
private val animator: PagerAnimator by lazy {
PagerAnimator(binding.hiscorePager, binding.hiscorePrev, binding.hiscoreNext)
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_hiscore)
binding.viewModel = viewModel
binding.animator = animator
binding.hiscorePager.adapter = pageAdapter
binding.hiscorePager.addOnPageChangeListener(object :
ViewPager.SimpleOnPageChangeListener() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ package nl.entreco.dartsscorecard.play
import android.view.View
import android.view.ViewPropertyAnimator
import android.view.ViewTreeObserver
import androidx.viewpager.widget.ViewPager
import com.google.android.material.bottomsheet.BottomSheetBehavior
import kotlinx.android.synthetic.main.activity_play_01.view.*
import kotlinx.android.synthetic.main.play_01_score.view.*
import nl.entreco.dartsscorecard.base.PagerAnimator
import nl.entreco.dartsscorecard.base.widget.MaxHeightRecyclerView
import nl.entreco.dartsscorecard.databinding.ActivityPlay01Binding
import nl.entreco.dartsscorecard.play.live.LiveStatSlideAnimator
Expand All @@ -20,6 +22,7 @@ class Play01Animator(binding: ActivityPlay01Binding) {
private val pager = binding.includeMain.statPager
private val inputSheet = binding.includeInput.inputSheet
private val behaviour = BottomSheetBehavior.from(inputSheet)
private val pageAnimator = PagerAnimator(pager, binding.includeMain.statPrev, binding.includeMain.statNext)
private val animator = Play01AnimatorHandler(binding.root, binding.includeScore.scoreSheet,
binding.includeInput.fab, binding.includeMain.mainSheet, binding.includeMain.version,
binding.includeInput.inputResume, pager, binding.includeScore.teamContainer, inputSheet,
Expand All @@ -29,8 +32,9 @@ class Play01Animator(binding: ActivityPlay01Binding) {
init {
animator.calculateHeightForScoreView()
pager.addOnPageChangeListener(object :
androidx.viewpager.widget.ViewPager.SimpleOnPageChangeListener() {
ViewPager.SimpleOnPageChangeListener() {
override fun onPageSelected(position: Int) {
pageAnimator.onPageSelected(position)
animator.storePositionForAnimator(position)
}
})
Expand Down
14 changes: 14 additions & 0 deletions android/DartsScorecard/app/src/main/res/layout/activity_beta.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,23 @@
android:layout_height="match_parent"
android:contentDescription="@string/cd_list_of_beta_features"
android:layoutAnimation="@anim/layout_animation_from_bottom"
android:paddingTop="52dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:listitem="@layout/beta_view" />

<TextView
style="@style/Beta.Description"
android:layout_width="match_parent"
android:layout_height="52dp"
android:textStyle="normal"
android:textSize="12sp"
android:gravity="center"
android:lines="2"
android:textColor="?attr/colorPrimary"
android:padding="@dimen/def"
android:text="@string/beta_explained"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

<LinearLayout
android:id="@+id/sheet"
android:layout_width="match_parent"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
<variable
name="viewModel"
type="nl.entreco.dartsscorecard.hiscores.HiScoreViewModel" />

<variable
name="animator"
type="nl.entreco.dartsscorecard.base.PagerAnimator" />

</data>

Expand Down Expand Up @@ -52,6 +56,7 @@
android:onClick="@{() -> viewModel.prev(hiscorePager)}"
android:padding="@dimen/large"
android:rotation="180"
android:contentDescription="@null"
android:scaleType="fitCenter"
android:src="@drawable/ic_arrow_start"
app:layout_constraintBottom_toBottomOf="@id/hiscore_description"
Expand All @@ -64,6 +69,7 @@
android:layout_height="0dp"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:drawableTint="@color/white"
android:contentDescription="@null"
android:onClick="@{() -> viewModel.next(hiscorePager)}"
android:padding="@dimen/large"
android:scaleType="fitCenter"
Expand Down
14 changes: 10 additions & 4 deletions android/DartsScorecard/app/src/main/res/layout/play_01_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,25 +61,31 @@
app:liveStats="@{viewModel.teamStats}" />

<ImageView
android:layout_width="wrap_content"
android:id="@+id/stat_prev"
android:layout_width="48dp"
android:layout_height="@dimen/header_profile_pic_size"
android:layout_below="@id/title"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@null"
android:onClick="@{() -> viewModel.prev(statPager)}"
android:padding="@dimen/def"
android:padding="@dimen/large"
android:rotation="180"
android:scaleType="fitCenter"
android:src="@drawable/ic_arrow_start"
android:tint="@color/white"
app:showIf="@{viewModel.showPrev}" />

<ImageView
android:layout_width="wrap_content"
android:id="@+id/stat_next"
android:layout_width="48dp"
android:layout_height="@dimen/header_profile_pic_size"
android:layout_below="@id/title"
android:layout_alignParentEnd="true"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@null"
android:onClick="@{() -> viewModel.next(statPager)}"
android:padding="@dimen/def"
android:padding="@dimen/large"
android:scaleType="fitCenter"
android:src="@drawable/ic_arrow_start"
android:tint="@color/white"
app:showIf="@{viewModel.showNext}" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,12 @@
android:gravity="center"
android:padding="@dimen/def"
android:shadowColor="@color/white"
android:shadowDx="0.2"
android:shadowDy="0.2"
android:shadowRadius="12.0"
android:shadowDx="0.5"
android:shadowDy="0.5"
android:text="@string/beta_header"
android:textAllCaps="true"
android:textColor="?attr/nameText"
android:textColor="?attr/colorPrimaryDark"
android:textSize="36sp"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.5" />
Expand Down
6 changes: 4 additions & 2 deletions android/DartsScorecard/app/src/main/res/values-nl/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@
<string name="title_setup">01 Match instellen</string>
<string name="title_beta">Beta Features</string>
<string name="title_wtf">@string/wtf</string>
<string name="title_hiscores">HiScores</string>
<string name="title_hiscores">Hiscores</string>

<!-- Launch -->
<string name="resume_x01">@string/resume</string>
<string name="play_x01">Start new 01</string>
<string name="profiles">Profielen beheren</string>
<string name="hiscores">Hiscores</string>
<string name="beta">Beta</string>
<string name="beta">Nieuwe features</string>
<string name="wtf">What the FAQ</string>
<string name="stream_start">Start Stream</string>
<string name="stream_stop">Stop Stream</string>
Expand All @@ -44,6 +44,8 @@
<string name="donation_ok">THNX</string>
<string name="votes_explained">&lt;p>Zodra deze feature &lt;b>%1$s&lt;/b> stemmen heeft, zullen we de implementatie starten.&lt;/p>&lt;p>Alle donaties &lt;b>verwijderen ook alle advertenties&lt;/b> in de app&lt;/p></string>
<string name="beta_video">&lt;b>Bekijk de video&lt;/b></string>
<string name="beta_tagline">De populairste features worden als eerste ontwikkeld</string>
<string name="beta_explained">Laat ons weten welke features je graag in de nieuwe versie ziet. Kies \'STEM\' &amp; klik op het \u2764! We doen ons best</string>

<!-- Setup -->
<string name="select_players">Selecteer spelers</string>
Expand Down
6 changes: 4 additions & 2 deletions android/DartsScorecard/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@
<string name="title_setup">Configure 01 Game</string>
<string name="title_beta">Beta Features</string>
<string name="title_wtf">@string/wtf</string>
<string name="title_hiscores">HiScores</string>
<string name="title_hiscores">Hiscores</string>

<!-- Launch -->
<string name="resume_x01">@string/resume</string>
<string name="play_x01">Start new 01</string>
<string name="profiles">Manage Profiles</string>
<string name="hiscores">Hiscores</string>
<string name="beta">Beta</string>
<string name="beta">New Features</string>
<string name="wtf">What the FAQ</string>
<string name="stream_start">Start Stream</string>
<string name="stream_stop">Stop Stream</string>
Expand All @@ -44,6 +44,8 @@
<string name="donation_ok">THANKS</string>
<string name="votes_explained">&lt;p>Once this feature has &lt;b>%1$s&lt;/b> votes, development will start.&lt;/p>&lt;p>All Donations &lt;b>include removing all ads&lt;/b> from the app&lt;/p></string>
<string name="beta_video">&lt;b>Watch the video&lt;/b></string>
<string name="beta_tagline">Most popular features, will be developed first</string>
<string name="beta_explained">Let us know which feature you would like to see next. Select \'VOTE\' &amp; click the \u2764! We\'ll do our best</string>

<!-- Setup -->
<string name="select_players">Select Players</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,4 @@

<!-- BETA -->
<string name="beta_header" translatable="false">STAND UP\nIF YOU \u2764 DARTS</string>
<string name="beta_tagline" translatable="false">Most popular features, will be developed first</string>
</resources>

0 comments on commit b01fb97

Please sign in to comment.