liuzhenxing1118 %!s(int64=3) %!d(string=hai) anos
pai
achega
639de49004

+ 2 - 0
.idea/misc.xml

@@ -37,8 +37,10 @@
         <entry key="app/src/main/res/layout/item_icon.xml" value="0.25" />
         <entry key="app/src/main/res/layout/item_icon_progress.xml" value="0.15865384615384615" />
         <entry key="app/src/main/res/layout/item_icon_title.xml" value="0.19300911854103345" />
+        <entry key="app/src/main/res/layout/item_icon_title_marquee.xml" value="0.1828774062816616" />
         <entry key="app/src/main/res/layout/item_icon_title_right.xml" value="0.1" />
         <entry key="app/src/main/res/layout/item_icon_title_subtitle.xml" value="0.1" />
+        <entry key="app/src/main/res/layout/item_icon_title_subtitle_marquee.xml" value="0.1828774062816616" />
         <entry key="app/src/main/res/layout/item_progress_title.xml" value="0.17307692307692307" />
         <entry key="app/src/main/res/layout/item_progress_title_subtitle.xml" value="0.1331521739130435" />
         <entry key="app/src/main/res/layout/item_refresh.xml" value="0.1" />

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Adapter/BluetoothDevicesAdapter.java

@@ -87,7 +87,7 @@ public class BluetoothDevicesAdapter extends ArrayAdapter<BluetoothModel> {
                 }
             }
         } else {
-            view = LayoutInflater.from(getContext()).inflate(R.layout.item_icon_title_subtitle, null);
+            view = LayoutInflater.from(getContext()).inflate(R.layout.item_icon_title_subtitle_marquee, null);
             ImageView itemArrow = view.findViewById(R.id.item_arrow);
             itemArrow.setVisibility( View.VISIBLE);
 

+ 1 - 1
app/src/main/java/com/xplora/xpsettings/Adapter/WiFiAdapter.java

@@ -75,7 +75,7 @@ public class WiFiAdapter extends ArrayAdapter<WifiModel> {
             }
             itemIcon.startAnimation(refreshAnimation);
         } else {
-            view = LayoutInflater.from(getContext()).inflate(R.layout.item_icon_title, null);
+            view = LayoutInflater.from(getContext()).inflate(R.layout.item_icon_title_marquee, null);
             ImageView itemIcon = view.findViewById(R.id.item_icon);
             ImageView itemArrow = view.findViewById(R.id.item_arrow);
             itemArrow.setVisibility(model.isShowArrow ? View.VISIBLE : View.GONE);

+ 31 - 0
app/src/main/java/com/xplora/xpsettings/View/MarqueeTextView.java

@@ -0,0 +1,31 @@
+package com.xplora.xpsettings.View;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+
+public class MarqueeTextView extends TextView {
+
+    public MarqueeTextView(Context context) {
+        super(context);
+    }
+
+    public MarqueeTextView(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public MarqueeTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    public MarqueeTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+    }
+
+    @Override
+    public boolean isFocused() {
+        return true;
+    }
+}

+ 68 - 0
app/src/main/res/layout/item_icon_title_marquee.xml

@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="40dp">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="35dp"
+        android:layout_marginLeft="5dp"
+        android:layout_marginRight="5dp"
+        >
+
+        <ImageView
+            android:id="@+id/item_icon"
+            android:layout_width="24dp"
+            android:layout_height="24dp"
+            android:layout_centerVertical="true"
+            android:layout_marginStart="7.5dp"
+            />
+
+        <com.xplora.xpsettings.View.MarqueeTextView
+            android:id="@+id/item_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_toEndOf="@+id/item_icon"
+            android:layout_marginStart="10dp"
+            android:layout_toStartOf="@+id/item_detail"
+            android:layout_marginEnd="8dp"
+            android:fontFamily="Roboto"
+            android:layout_centerVertical="true"
+            android:textColor="@color/white"
+            android:textSize="13sp"
+            android:ellipsize="marquee"
+            android:marqueeRepeatLimit="marquee_forever"
+            android:singleLine="true"
+            android:scrollHorizontally="true"
+            android:shadowColor="@color/transparent"
+            android:maxLines="1"
+            />
+
+        <TextView
+            android:id="@+id/item_detail"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_toStartOf="@+id/item_arrow"
+            android:layout_marginEnd="8dp"
+            android:fontFamily="Roboto"
+            android:layout_centerVertical="true"
+            android:textColor="@color/white"
+            android:textSize="10sp"
+            tools:ignore="SmallSp"
+            android:visibility="gone"
+            />
+
+        <ImageView
+            android:id="@+id/item_arrow"
+            android:layout_width="6dp"
+            android:layout_height="10dp"
+            android:layout_centerVertical="true"
+            android:layout_alignParentEnd="true"
+            android:layout_marginEnd="9.5dp"
+            android:src="@drawable/icon_arrow"
+            />
+
+    </RelativeLayout>
+
+</LinearLayout>

+ 92 - 0
app/src/main/res/layout/item_icon_title_subtitle_marquee.xml

@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="45dp">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="45dp"
+        >
+
+        <ImageView
+            android:id="@+id/item_icon"
+            android:layout_width="24dp"
+            android:layout_height="24dp"
+            android:layout_centerVertical="true"
+            android:layout_marginStart="12dp"
+            />
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_centerInParent="true"
+            android:orientation="vertical"
+            android:layout_toEndOf="@+id/item_icon"
+            android:layout_marginStart="10dp"
+            android:layout_toStartOf="@+id/item_detail"
+            android:layout_marginEnd="8dp"
+            android:layout_alignParentEnd="true"
+            >
+
+            <com.xplora.xpsettings.View.MarqueeTextView
+                android:id="@+id/item_title"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="5dp"
+                android:fontFamily="Roboto"
+                android:textAlignment="textStart"
+                android:textColor="@color/white"
+                android:textFontWeight="700"
+                android:textSize="12sp"
+                android:ellipsize="marquee"
+                android:marqueeRepeatLimit="marquee_forever"
+                android:singleLine="true"
+                android:scrollHorizontally="true"
+                android:shadowColor="@color/transparent"
+                android:maxLines="1"
+                />
+
+            <TextView
+                android:id="@+id/item_subtitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="5dp"
+                android:fontFamily="Roboto"
+                android:textAlignment="textStart"
+                android:layout_centerVertical="true"
+                android:textColor="@color/white"
+                android:textSize="12sp"
+                android:textFontWeight="400"
+                android:text="subtitle"
+                />
+        </LinearLayout>
+
+
+        <TextView
+            android:id="@+id/item_detail"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_toStartOf="@+id/item_arrow"
+            android:layout_marginEnd="8dp"
+            android:fontFamily="Roboto"
+            android:layout_centerVertical="true"
+            android:textColor="@color/white"
+            android:textSize="10sp"
+            tools:ignore="SmallSp"
+            android:visibility="gone"
+            />
+
+        <ImageView
+            android:id="@+id/item_arrow"
+            android:layout_width="6dp"
+            android:layout_height="10dp"
+            android:layout_centerVertical="true"
+            android:layout_alignParentEnd="true"
+            android:layout_marginEnd="9.5dp"
+            android:src="@drawable/icon_arrow"
+            />
+
+    </RelativeLayout>
+
+</LinearLayout>