Przeglądaj źródła

[fix]键盘插件,按键文字超出1按键宽度时,跑马灯方式,滚动按钮的文字

hezihao 7 miesięcy temu
rodzic
commit
e1942014b3

+ 9 - 0
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/component/item/AiKeyboardKeyViewBinder.kt

@@ -1,5 +1,6 @@
 package com.atmob.keyboard_android.component.item
 
+import android.text.TextUtils
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
@@ -50,6 +51,14 @@ class AiKeyboardKeyViewBinder(
             }
             LottieAnimationUtil.stopLottieAnimation(holder.vLoveFlyLoadingLottieView)
         }
+        // 设置文字超出1行后,启用跑马灯效果(必须代码设置,xml中设置会无效)
+        holder.vKeyText.apply {
+            ellipsize = TextUtils.TruncateAt.MARQUEE
+            isSingleLine = true
+            isSelected = true
+            isFocusable = true
+            isFocusableInTouchMode = true
+        }
         holder.itemView.click {
             onItemClick.invoke(holder.itemView, item)
         }

+ 6 - 2
plugins/keyboard_android/android/src/main/res/layout/item_ai_keyboard_key.xml

@@ -11,11 +11,15 @@
         android:layout_width="match_parent"
         android:layout_height="46dp"
         android:layout_gravity="center"
-        android:ellipsize="end"
+        android:ellipsize="marquee"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
         android:gravity="center"
-        android:maxLines="1"
+        android:marqueeRepeatLimit="marquee_forever"
         android:paddingStart="3dp"
         android:paddingEnd="3dp"
+        android:scrollHorizontally="true"
+        android:singleLine="true"
         android:textColor="@color/text_color_primary"
         android:textSize="14sp"
         tools:text="哄女友" />