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.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.widget.LinearLayout import android.widget.RadioGroup
import com.keylesspalace.tusky.R import com.keylesspalace.tusky.R
import com.keylesspalace.tusky.entity.Status import com.keylesspalace.tusky.entity.Status
import kotlinx.android.synthetic.main.view_compose_options.view.*
class ComposeOptionsView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : RadioGroup(context, attrs) {
class ComposeOptionsView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : LinearLayout(context, attrs, defStyleAttr) {
var listener: ComposeOptionsListener? = null var listener: ComposeOptionsListener? = null
init { init {
inflate(context, R.layout.view_compose_options, this) inflate(context, R.layout.view_compose_options, this)
publicRadioButton.setButtonDrawable(R.drawable.ic_public_24dp) setOnCheckedChangeListener { _, checkedId ->
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 ->
val visibility = when (checkedId) { val visibility = when (checkedId) {
R.id.publicRadioButton -> R.id.publicRadioButton ->
Status.Visibility.PUBLIC 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:layout_height="wrap_content"
android:background="?attr/colorSurface" android:background="?attr/colorSurface"
android:elevation="12dp" android:elevation="12dp"
android:paddingStart="16dp" android:paddingStart="24dp"
android:paddingTop="8dp" android:paddingTop="12dp"
android:paddingEnd="16dp" android:paddingEnd="24dp"
android:paddingBottom="52dp" android:paddingBottom="60dp"
app:behavior_hideable="true" app:behavior_hideable="true"
app:behavior_peekHeight="0dp" app:behavior_peekHeight="0dp"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" /> 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" <merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" 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 <RadioButton
android:id="@+id/visibilityRadioGroup" 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_width="match_parent"
android:layout_height="wrap_content" 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: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 <RadioButton
android:id="@+id/publicRadioButton" android:id="@+id/privateRadioButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="4dp" android:layout_marginTop="4dp"
android:layout_weight="1" android:layout_marginBottom="4dp"
android:paddingEnd="0dp" android:layout_weight="1"
android:paddingStart="10dp" android:button="@drawable/ic_lock_outline_24dp"
android:text="@string/visibility_public" android:paddingStart="10dp"
android:textColor="?android:textColorTertiary" android:paddingEnd="0dp"
app:buttonTint="@color/compound_button_color" /> android:text="@string/visibility_private"
android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" />
<RadioButton <RadioButton
android:id="@+id/unlistedRadioButton" android:id="@+id/directRadioButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="4dp" android:layout_marginTop="4dp"
android:layout_marginTop="4dp" android:layout_weight="1"
android:layout_weight="1" android:button="@drawable/ic_email_24dp"
android:paddingEnd="0dp" android:paddingStart="10dp"
android:paddingStart="10dp" android:paddingEnd="0dp"
android:text="@string/visibility_unlisted" android:text="@string/visibility_direct"
android:textColor="?android:textColorTertiary" android:textColor="?android:textColorTertiary"
app:buttonTint="@color/compound_button_color" /> 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>
</merge> </merge>