simplify ComposeOptionsView (#1734)

This commit is contained in:
Konrad Pozniak 2020-03-24 21:07:10 +01:00 committed by GitHub
parent cf782f039f
commit adac296e04
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 59 additions and 72 deletions

View file

@ -17,25 +17,18 @@ package com.keylesspalace.tusky.components.compose.view
import android.content.Context
import android.util.AttributeSet
import android.widget.LinearLayout
import android.widget.RadioGroup
import com.keylesspalace.tusky.R
import com.keylesspalace.tusky.entity.Status
import kotlinx.android.synthetic.main.view_compose_options.view.*
class ComposeOptionsView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : LinearLayout(context, attrs, defStyleAttr) {
class ComposeOptionsView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : RadioGroup(context, attrs) {
var listener: ComposeOptionsListener? = null
init {
inflate(context, R.layout.view_compose_options, this)
publicRadioButton.setButtonDrawable(R.drawable.ic_public_24dp)
unlistedRadioButton.setButtonDrawable(R.drawable.ic_lock_open_24dp)
privateRadioButton.setButtonDrawable(R.drawable.ic_lock_outline_24dp)
directRadioButton.setButtonDrawable(R.drawable.ic_email_24dp)
visibilityRadioGroup.setOnCheckedChangeListener { _, checkedId ->
setOnCheckedChangeListener { _, checkedId ->
val visibility = when (checkedId) {
R.id.publicRadioButton ->
Status.Visibility.PUBLIC
@ -67,7 +60,7 @@ class ComposeOptionsView @JvmOverloads constructor(context: Context, attrs: Attr
}
visibilityRadioGroup.check(selectedButton)
check(selectedButton)
}
}

View file

@ -215,10 +215,10 @@
android:layout_height="wrap_content"
android:background="?attr/colorSurface"
android:elevation="12dp"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:paddingEnd="16dp"
android:paddingBottom="52dp"
android:paddingStart="24dp"
android:paddingTop="12dp"
android:paddingEnd="24dp"
android:paddingBottom="60dp"
app:behavior_hideable="true"
app:behavior_peekHeight="0dp"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" />

View file

@ -1,68 +1,62 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:parentTag="android.widget.LinearLayout">
tools:layout_height="wrap_content"
tools:layout_width="match_parent"
tools:parentTag="RadioGroup">
<RadioGroup
android:id="@+id/visibilityRadioGroup"
<RadioButton
android:id="@+id/publicRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_weight="1"
android:button="@drawable/ic_public_24dp"
android:paddingStart="10dp"
android:paddingEnd="0dp"
android:text="@string/visibility_public"
android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" />
<RadioButton
android:id="@+id/unlistedRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/compose_options_margin"
android:layout_marginLeft="@dimen/compose_options_margin"
android:layout_marginRight="@dimen/compose_options_margin"
android:layout_marginTop="4dp"
android:orientation="vertical">
android:layout_marginBottom="4dp"
android:layout_weight="1"
android:button="@drawable/ic_lock_open_24dp"
android:paddingStart="10dp"
android:paddingEnd="0dp"
android:text="@string/visibility_unlisted"
android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" />
<RadioButton
android:id="@+id/publicRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_weight="1"
android:paddingEnd="0dp"
android:paddingStart="10dp"
android:text="@string/visibility_public"
android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" />
<RadioButton
android:id="@+id/privateRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_weight="1"
android:button="@drawable/ic_lock_outline_24dp"
android:paddingStart="10dp"
android:paddingEnd="0dp"
android:text="@string/visibility_private"
android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" />
<RadioButton
android:id="@+id/unlistedRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_marginTop="4dp"
android:layout_weight="1"
android:paddingEnd="0dp"
android:paddingStart="10dp"
android:text="@string/visibility_unlisted"
android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" />
<RadioButton
android:id="@+id/privateRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_marginTop="4dp"
android:layout_weight="1"
android:paddingEnd="0dp"
android:paddingStart="10dp"
android:text="@string/visibility_private"
android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" />
<RadioButton
android:id="@+id/directRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_weight="1"
android:paddingEnd="0dp"
android:paddingStart="10dp"
android:text="@string/visibility_direct"
android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" />
</RadioGroup>
<RadioButton
android:id="@+id/directRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_weight="1"
android:button="@drawable/ic_email_24dp"
android:paddingStart="10dp"
android:paddingEnd="0dp"
android:text="@string/visibility_direct"
android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" />
</merge>