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 ...@@ -4,10 +4,10 @@ import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.LayoutInflater import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.widget.doAfterTextChanged
import org.futo.circles.R import org.futo.circles.R
import org.futo.circles.databinding.ViewPollOptionBinding 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( class PollOptionView(
context: Context, context: Context,
...@@ -17,18 +17,21 @@ class PollOptionView( ...@@ -17,18 +17,21 @@ class PollOptionView(
private val binding = private val binding =
ViewPollOptionBinding.inflate(LayoutInflater.from(context), this) ViewPollOptionBinding.inflate(LayoutInflater.from(context), this)
fun setup(position: Int, onRemove: (PollOptionView) -> Unit, textChanged: (String) -> Unit) { fun setup(option: PollOption) {
setHint(position) with(binding) {
binding.ivRemove.setOnClickListener { onRemove.invoke(this) } tvOptionQuestion.text = option.optionAnswer
binding.tilOption.editText?.doAfterTextChanged { ivWinner.setIsVisible(option.isWinner)
textChanged(binding.tilOption.getText()) 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 @@ ...@@ -4,44 +4,69 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" 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"> tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
<com.google.android.material.textfield.TextInputLayout <ImageView
android:id="@+id/tilOption" android:id="@+id/ivCheck"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="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_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 <com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/ivRemove" android:id="@+id/horizontalProgress"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="wrap_content"
android:background="@color/highlight_color" android:layout_marginStart="4dp"
android:clickable="true" android:layout_marginTop="9dp"
android:focusable="true" android:layout_marginEnd="8dp"
android:foreground="?attr/selectableItemBackgroundBorderless" app:layout_constraintEnd_toStartOf="@id/tvVotesCount"
android:padding="14dp" app:layout_constraintStart_toStartOf="@id/ivCheck"
android:src="@drawable/ic_close" app:layout_constraintTop_toBottomOf="@id/tvOptionQuestion"
app:layout_constraintBottom_toBottomOf="@id/tilOption" app:trackCornerRadius="6dp" />
app:layout_constraintDimensionRatio="w,1:1"
<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_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tilOption" app:layout_constraintTop_toBottomOf="@id/tvOptionQuestion"
app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.CornerSize50Percent" /> tools:text="Some votes"
tools:visibility="visible" />
</merge> </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