ソースを参照

containerize status text field

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Andy Scherzinger 4 年 前
コミット
1e250109ab

+ 10 - 10
src/main/java/com/nextcloud/ui/SetStatusDialogFragment.kt

@@ -23,8 +23,6 @@ package com.nextcloud.ui
 import android.annotation.SuppressLint
 import android.app.Dialog
 import android.content.Context
-import android.graphics.PorterDuff
-import android.graphics.PorterDuffColorFilter
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
@@ -141,8 +139,8 @@ class SetStatusDialogFragment :
 
         currentStatus?.let {
             emoji.setText(it.icon)
-            customStatusInput.text.clear()
-            customStatusInput.setText(it.message)
+            binding.customStatusInput.text?.clear()
+            binding.customStatusInput.setText(it.message)
             visualizeStatus(it.status)
 
             if (it.clearAt > 0) {
@@ -215,9 +213,11 @@ class SetStatusDialogFragment :
 
         clearStatus.setTextColor(ThemeUtils.primaryColor(context, true))
         ThemeUtils.colorPrimaryButton(setStatus, context)
-        customStatusInput.background.colorFilter =
-            PorterDuffColorFilter(ThemeUtils.primaryAccentColor(context), PorterDuff.Mode.SRC_ATOP)
-        customStatusInput.highlightColor = ThemeUtils.primaryColor(activity)
+        ThemeUtils.colorTextInput(
+            binding.customStatusInputContainer,
+            binding.customStatusInput,
+            ThemeUtils.primaryColor(activity)
+        )
     }
 
     private fun setClearStatusAfterValue(item: Int) {
@@ -400,7 +400,7 @@ class SetStatusDialogFragment :
         }
     }
 
-    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
         return binding.root
     }
 
@@ -408,8 +408,8 @@ class SetStatusDialogFragment :
         selectedPredefinedMessageId = predefinedStatus.id
         clearAt = clearAtToUnixTime(predefinedStatus.clearAt)
         emoji.setText(predefinedStatus.icon)
-        customStatusInput.text.clear()
-        customStatusInput.text.append(predefinedStatus.message)
+        binding.customStatusInput.text?.clear()
+        binding.customStatusInput.text?.append(predefinedStatus.message)
 
         remainingClearTime.visibility = View.GONE
         clearStatusAfterSpinner.visibility = View.VISIBLE

+ 24 - 10
src/main/res/layout/dialog_set_status.xml

@@ -338,17 +338,19 @@
 
         <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="@dimen/activity_row_layout_height"
+            android:layout_height="wrap_content"
             android:orientation="horizontal">
 
             <com.google.android.material.card.MaterialCardView
                 android:id="@+id/emojiCard"
                 android:layout_width="@dimen/activity_row_layout_height"
                 android:layout_height="@dimen/activity_row_layout_height"
-                android:layout_gravity="center_vertical"
-                android:layout_marginEnd="@dimen/standard_half_margin"
+                android:layout_gravity="center"
+                android:layout_marginTop="@dimen/standard_eighth_margin"
+                android:layout_marginEnd="@dimen/standard_margin"
                 android:orientation="horizontal"
                 app:cardBackgroundColor="@color/grey_200"
+                app:cardCornerRadius="24dp"
                 app:cardElevation="0dp">
 
                 <com.vanniktech.emoji.EmojiEditText
@@ -359,18 +361,30 @@
                     android:cursorVisible="false"
                     android:gravity="center"
                     android:text="@string/default_emoji"
-                    android:textSize="25sp" />
+                    android:textSize="24sp" />
 
             </com.google.android.material.card.MaterialCardView>
 
-            <EditText
-                android:id="@+id/customStatusInput"
+            <com.google.android.material.textfield.TextInputLayout
+                android:id="@+id/customStatusInput_container"
                 android:layout_width="0dp"
-                android:layout_height="match_parent"
+                android:layout_height="wrap_content"
                 android:layout_weight="1"
-                android:hint="@string/whats_your_status"
-                android:importantForAutofill="no"
-                android:inputType="textAutoCorrect" />
+                android:hint="@string/whats_your_status">
+
+                <com.google.android.material.textfield.TextInputEditText
+                    android:id="@+id/customStatusInput"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:ems="10"
+                    android:importantForAutofill="no"
+                    android:inputType="textAutoCorrect"
+                    android:scrollbars="vertical">
+
+                </com.google.android.material.textfield.TextInputEditText>
+
+            </com.google.android.material.textfield.TextInputLayout>
+
         </LinearLayout>
 
         <androidx.recyclerview.widget.RecyclerView