Skip to content
Snippets Groups Projects
Commit 7e896b53 authored by Taras's avatar Taras
Browse files

Create poll option view

parent 2281ac88
No related branches found
No related tags found
No related merge requests found
......@@ -4,10 +4,10 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.widget.doAfterTextChanged
import org.futo.circles.R
import org.futo.circles.databinding.ViewPollOptionBinding
import org.futo.circles.extensions.getText
import org.futo.circles.extensions.setIsVisible
import org.futo.circles.model.PollOption
class PollOptionView(
context: Context,
......@@ -17,18 +17,21 @@ class PollOptionView(
private val binding =
ViewPollOptionBinding.inflate(LayoutInflater.from(context), this)
fun setup(position: Int, onRemove: (PollOptionView) -> Unit, textChanged: (String) -> Unit) {
setHint(position)
binding.ivRemove.setOnClickListener { onRemove.invoke(this) }
binding.tilOption.editText?.doAfterTextChanged {
textChanged(binding.tilOption.getText())
fun setup(option: PollOption) {
with(binding) {
tvOptionQuestion.text = option.optionAnswer
ivWinner.setIsVisible(option.isWinner)
tvVotesCount.text = context.resources.getQuantityString(
R.plurals.votes, option.voteCount, option.voteCount
)
horizontalProgress.progress = option.votePercentage
if(option.isMyVote){
}else{
}
}
}
fun setHint(position: Int) {
binding.tilOption.hint = context.getString(R.string.option_format, position)
}
fun getText() = binding.tilOption.getText()
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp" />
<stroke
android:width="1dp"
android:color="@color/blue" />
</shape>
\ No newline at end of file
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M9.68,13.69L12,11.93l2.31,1.76l-0.88,-2.85L15.75,9h-2.84L12,6.19L11.09,9H8.25l2.31,1.84L9.68,13.69zM20,10c0,-4.42 -3.58,-8 -8,-8s-8,3.58 -8,8c0,2.03 0.76,3.87 2,5.28V23l6,-2l6,2v-7.72C19.24,13.87 20,12.03 20,10zM12,4c3.31,0 6,2.69 6,6s-2.69,6 -6,6s-6,-2.69 -6,-6S8.69,4 12,4z"/>
</vector>
......@@ -4,44 +4,69 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackground"
android:padding="8dp"
tools:background="@drawable/bg_border"
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tilOption"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="0dp"
<ImageView
android:id="@+id/ivCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/ivRemove"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
app:layout_constraintTop_toTopOf="@id/tvOptionQuestion"
tools:src="@drawable/ic_check_circle" />
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLines="1"
android:padding="12dp" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:id="@+id/tvOptionQuestion"
style="@style/body"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="4dp"
android:ellipsize="end"
android:maxLines="2"
app:layout_constraintEnd_toStartOf="@id/ivWinner"
app:layout_constraintStart_toEndOf="@id/ivCheck"
app:layout_constraintTop_toTopOf="parent"
tools:text="Some Question" />
<ImageView
android:id="@+id/ivWinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_winner"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/tvOptionQuestion"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tvOptionQuestion"
app:tint="@color/blue"
tools:visibility="visible" />
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/ivRemove"
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/horizontalProgress"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/highlight_color"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackgroundBorderless"
android:padding="14dp"
android:src="@drawable/ic_close"
app:layout_constraintBottom_toBottomOf="@id/tilOption"
app:layout_constraintDimensionRatio="w,1:1"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginTop="9dp"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toStartOf="@id/tvVotesCount"
app:layout_constraintStart_toStartOf="@id/ivCheck"
app:layout_constraintTop_toBottomOf="@id/tvOptionQuestion"
app:trackCornerRadius="6dp" />
<TextView
android:id="@+id/tvVotesCount"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:lines="1"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tilOption"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent" />
app:layout_constraintTop_toBottomOf="@id/tvOptionQuestion"
tools:text="Some votes"
tools:visibility="visible" />
</merge>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<org.futo.circles.view.PostLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lPollPost"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<org.futo.circles.view.PollContentView
android:id="@+id/pollContentView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</org.futo.circles.view.PostLayout>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment