Skip to content

Commit 971e04a

Browse files
author
Erik Hellman
committed
Code for barriers
1 parent f79430b commit 971e04a

File tree

2 files changed

+77
-1
lines changed

2 files changed

+77
-1
lines changed

app/src/main/java/se/hellsoft/contraintlayoutworkshop/MainActivity.kt

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,32 @@ package se.hellsoft.contraintlayoutworkshop
22

33
import android.support.v7.app.AppCompatActivity
44
import android.os.Bundle
5+
import android.text.Editable
6+
import android.text.TextWatcher
7+
import android.util.Log
8+
import kotlinx.android.synthetic.main.activity_main.*
59

610
class MainActivity : AppCompatActivity() {
7-
11+
companion object {
12+
private const val MAX_MESSAGE_LENGTH = 200
13+
}
814
override fun onCreate(savedInstanceState: Bundle?) {
915
super.onCreate(savedInstanceState)
1016
setContentView(R.layout.activity_main)
17+
18+
progressBar.max = MAX_MESSAGE_LENGTH
19+
messageInput.addTextChangedListener(object: TextWatcher {
20+
override fun afterTextChanged(editable: Editable?) {
21+
val text = editable?.toString() ?: ""
22+
messagePreview.text = text
23+
progressBar.progress = text.length
24+
}
25+
26+
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
27+
}
28+
29+
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
30+
}
31+
})
1132
}
1233
}

app/src/main/res/layout/activity_main.xml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,59 @@
66
android:layout_height="match_parent"
77
tools:context="se.hellsoft.contraintlayoutworkshop.MainActivity">
88

9+
<TextView
10+
android:id="@+id/messagePreview"
11+
android:layout_width="wrap_content"
12+
android:layout_height="wrap_content"
13+
android:layout_marginStart="16dp"
14+
android:layout_marginTop="16dp"
15+
android:textAppearance="@style/TextAppearance.AppCompat.Small"
16+
app:layout_constraintStart_toStartOf="parent"
17+
app:layout_constraintTop_toTopOf="parent"
18+
tools:text="Sample message" />
19+
20+
<Button
21+
android:id="@+id/button"
22+
style="@style/Widget.AppCompat.Button.Colored"
23+
android:layout_width="wrap_content"
24+
android:layout_height="wrap_content"
25+
android:layout_marginStart="16dp"
26+
android:layout_marginTop="8dp"
27+
android:text="Submit message..."
28+
app:layout_constraintStart_toStartOf="parent"
29+
app:layout_constraintTop_toBottomOf="@+id/messagePreview" />
30+
31+
<ProgressBar
32+
android:id="@+id/progressBar"
33+
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
34+
android:layout_width="0dp"
35+
android:layout_height="wrap_content"
36+
android:layout_marginEnd="8dp"
37+
android:layout_marginStart="16dp"
38+
android:indeterminate="false"
39+
android:max="100"
40+
android:min="0"
41+
android:progress="0"
42+
app:layout_constraintBottom_toBottomOf="@+id/messagePreview"
43+
app:layout_constraintEnd_toEndOf="parent"
44+
app:layout_constraintStart_toEndOf="@+id/button"
45+
app:layout_constraintTop_toTopOf="@+id/messagePreview" />
46+
47+
<EditText
48+
android:id="@+id/messageInput"
49+
android:layout_width="0dp"
50+
android:layout_height="wrap_content"
51+
android:layout_marginEnd="16dp"
52+
android:layout_marginStart="16dp"
53+
android:layout_marginTop="8dp"
54+
android:ems="10"
55+
android:gravity="top|start"
56+
android:hint="Write your message here"
57+
android:inputType="textMultiLine|textImeMultiLine|textLongMessage"
58+
android:lines="5"
59+
android:maxLength="200"
60+
app:layout_constraintEnd_toEndOf="parent"
61+
app:layout_constraintStart_toStartOf="parent"
62+
app:layout_constraintTop_toBottomOf="@+id/button"
63+
tools:text="Sample message" />
964
</android.support.constraint.ConstraintLayout>

0 commit comments

Comments
 (0)