@@ -19,6 +19,7 @@ package com.hossainkhan.android.demo.layoutpreview
1919import android.content.Context
2020import android.content.Intent
2121import android.os.Bundle
22+ import android.support.annotation.StringRes
2223import android.support.constraint.ConstraintLayout
2324import android.support.constraint.ConstraintSet
2425import android.support.constraint.ConstraintSet.CHAIN_PACKED
@@ -52,7 +53,7 @@ class LayoutChainStyleActivity : LayoutPreviewBaseActivity() {
5253 }
5354
5455 private lateinit var constraintLayout: ConstraintLayout
55- private lateinit var guideText : TextView
56+ private lateinit var guideTextView : TextView
5657 /* *
5758 * Use constraint set to dynamically update constraints
5859 * https://developer.android.com/reference/android/support/constraint/ConstraintSet
@@ -63,41 +64,36 @@ class LayoutChainStyleActivity : LayoutPreviewBaseActivity() {
6364 super .onCreate(savedInstanceState)
6465
6566 constraintLayout = findViewById(R .id.constraint_layout_root)
66- guideText = findViewById(R .id.view_chain_horizontal_guide_text)
67+ guideTextView = findViewById(R .id.view_chain_horizontal_guide_text)
6768 constraintSet.clone(constraintLayout)
6869 }
6970
7071 fun onRadioButtonClicked (view : View ) {
71- Timber .d(" Constraint style change requested %s" , view)
72- // Is the button now checked?
7372 val checked = (view as RadioButton ).isChecked
7473
7574 // Check which radio button was clicked
7675 when (view.getId()) {
7776 R .id.radio_chain_action_packed -> {
78- if (checked) {
79- guideText.setText(R .string.view_guide_chain_style_packed)
80- TransitionManager .beginDelayedTransition(constraintLayout)
81- constraintSet.setHorizontalChainStyle(R .id.view_chain_view_first, CHAIN_PACKED )
82- constraintSet.applyTo(constraintLayout)
83- }
77+ applyChainStyle(checked, R .string.view_guide_chain_style_packed, CHAIN_PACKED )
8478 }
8579 R .id.radio_chain_action_spread -> {
86- if (checked) {
87- guideText.setText(R .string.view_guide_chain_style_spread)
88- TransitionManager .beginDelayedTransition(constraintLayout)
89- constraintSet.setHorizontalChainStyle(R .id.view_chain_view_first, CHAIN_SPREAD )
90- constraintSet.applyTo(constraintLayout)
91- }
80+ applyChainStyle(checked, R .string.view_guide_chain_style_spread, CHAIN_SPREAD )
9281 }
9382 R .id.radio_chain_action_spread_inside -> {
94- if (checked) {
95- guideText.setText(R .string.view_guide_chain_style_spread_inside)
96- TransitionManager .beginDelayedTransition(constraintLayout)
97- constraintSet.setHorizontalChainStyle(R .id.view_chain_view_first, CHAIN_SPREAD_INSIDE )
98- constraintSet.applyTo(constraintLayout)
99- }
83+ applyChainStyle(checked, R .string.view_guide_chain_style_spread_inside, CHAIN_SPREAD_INSIDE )
10084 }
10185 }
10286 }
87+
88+ private fun applyChainStyle (isChecked : Boolean , @StringRes guideText : Int , chainStyle : Int ) {
89+ if (isChecked) {
90+ Timber .d(" Updating chain style to %s, and text to %s" , chainStyle, getString(guideText))
91+ guideTextView.setText(guideText)
92+ TransitionManager .beginDelayedTransition(constraintLayout)
93+ constraintSet.setHorizontalChainStyle(R .id.view_chain_view_first, chainStyle)
94+ constraintSet.applyTo(constraintLayout)
95+ } else {
96+ Timber .i(" View was not checked. Not taking action." )
97+ }
98+ }
10399}
0 commit comments