فهرست منبع

Provide visual feedback when list entry is tapped (#110)

Co-authored-by: Joshua Kuestersteffen <jkuester@kuester7.com>
Hayri Bakici 3 سال پیش
والد
کامیت
65c6669b0a

+ 2 - 1
app/src/main/res/layout/add_app_fragment_list_item.xml

@@ -1,9 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/aa_list_item_app_name"
     android:id="@+id/aa_list_item_app_name"
-    android:layout_width="match_parent"
+    android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
     android:padding="6dp"
     android:padding="6dp"
+    android:stateListAnimator="@xml/animate_scale"
     android:textAppearance="@style/TextAppearance.AppCompat"
     android:textAppearance="@style/TextAppearance.AppCompat"
     android:textSize="@dimen/_18ssp">
     android:textSize="@dimen/_18ssp">
 
 

+ 2 - 1
app/src/main/res/layout/main_fragment_list_item.xml

@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/home_fragment_list_item_app_name"
     android:id="@+id/home_fragment_list_item_app_name"
-    android:layout_width="match_parent"
+    android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_height="wrap_content"
     android:layout_marginTop="4dp"
     android:layout_marginTop="4dp"
     android:layout_marginBottom="4dp"
     android:layout_marginBottom="4dp"
     android:padding="12dp"
     android:padding="12dp"
+    android:stateListAnimator="@xml/animate_scale"
     android:textAppearance="@style/TextAppearance.AppCompat"
     android:textAppearance="@style/TextAppearance.AppCompat"
     android:textSize="@dimen/_24ssp">
     android:textSize="@dimen/_24ssp">
 
 

+ 10 - 1
app/src/main/res/layout/options_fragment.xml

@@ -20,6 +20,7 @@
             android:layout_marginStart="@dimen/_16sdp"
             android:layout_marginStart="@dimen/_16sdp"
             android:layout_marginLeft="@dimen/_16sdp"
             android:layout_marginLeft="@dimen/_16sdp"
             android:layout_marginTop="@dimen/_8sdp"
             android:layout_marginTop="@dimen/_8sdp"
+            android:stateListAnimator="@xml/animate_scale"
             android:text="@string/main_fragment_options"
             android:text="@string/main_fragment_options"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textSize="@dimen/_36ssp"
             android:textSize="@dimen/_36ssp"
@@ -33,6 +34,7 @@
             android:layout_marginStart="24dp"
             android:layout_marginStart="24dp"
             android:layout_marginLeft="24dp"
             android:layout_marginLeft="24dp"
             android:layout_marginTop="32dp"
             android:layout_marginTop="32dp"
+            android:stateListAnimator="@xml/animate_scale"
             android:text="@string/options_fragment_about_slim"
             android:text="@string/options_fragment_about_slim"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textSize="@dimen/_20ssp"
             android:textSize="@dimen/_20ssp"
@@ -47,6 +49,7 @@
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="32dp"
             android:layout_marginTop="32dp"
+            android:stateListAnimator="@xml/animate_scale"
             android:text="@string/options_fragment_device_settings"
             android:text="@string/options_fragment_device_settings"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textSize="@dimen/_20ssp"
             android:textSize="@dimen/_20ssp"
@@ -59,6 +62,7 @@
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="32dp"
             android:layout_marginTop="32dp"
+            android:stateListAnimator="@xml/animate_scale"
             android:text="@string/options_fragment_change_theme"
             android:text="@string/options_fragment_change_theme"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textSize="@dimen/_20ssp"
             android:textSize="@dimen/_20ssp"
@@ -71,6 +75,7 @@
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="32dp"
             android:layout_marginTop="32dp"
+            android:stateListAnimator="@xml/animate_scale"
             android:text="@string/options_fragment_choose_time_format"
             android:text="@string/options_fragment_choose_time_format"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textSize="@dimen/_20ssp"
             android:textSize="@dimen/_20ssp"
@@ -83,6 +88,7 @@
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="32dp"
             android:layout_marginTop="32dp"
+            android:stateListAnimator="@xml/animate_scale"
             android:text="@string/options_fragment_toggle_status_bar"
             android:text="@string/options_fragment_toggle_status_bar"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textSize="@dimen/_20ssp"
             android:textSize="@dimen/_20ssp"
@@ -96,6 +102,7 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="32dp"
             android:layout_marginTop="32dp"
             android:layout_marginBottom="32dp"
             android:layout_marginBottom="32dp"
+            android:stateListAnimator="@xml/animate_scale"
             android:text="@string/options_fragment_customise_apps"
             android:text="@string/options_fragment_customise_apps"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textSize="@dimen/_20ssp"
             android:textSize="@dimen/_20ssp"
@@ -109,6 +116,7 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="32dp"
             android:layout_marginTop="32dp"
             android:layout_marginBottom="32dp"
             android:layout_marginBottom="32dp"
+            android:stateListAnimator="@xml/animate_scale"
             android:text="@string/options_fragment_customize_quick_buttons"
             android:text="@string/options_fragment_customize_quick_buttons"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textSize="@dimen/_20ssp"
             android:textSize="@dimen/_20ssp"
@@ -121,6 +129,7 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="32dp"
             android:layout_marginTop="32dp"
             android:layout_marginBottom="32dp"
             android:layout_marginBottom="32dp"
+            android:stateListAnimator="@xml/animate_scale"
             android:text="@string/options_fragment_customize_app_drawer"
             android:text="@string/options_fragment_customize_app_drawer"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textAppearance="@style/TextAppearance.AppCompat"
             android:textSize="@dimen/_20ssp"
             android:textSize="@dimen/_20ssp"
@@ -128,4 +137,4 @@
             app:layout_constraintTop_toBottomOf="@+id/options_fragment_customize_quick_buttons" />
             app:layout_constraintTop_toBottomOf="@+id/options_fragment_customize_quick_buttons" />
     </androidx.constraintlayout.widget.ConstraintLayout>
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 
-</ScrollView>
+</ScrollView>

+ 36 - 0
app/src/main/res/xml/animate_scale.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<animated-selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <!-- the pressed state; decrease x and y size to 85% -->
+    <item android:state_pressed="true">
+        <set>
+            <objectAnimator
+                android:duration="@android:integer/config_shortAnimTime"
+                android:propertyName="scaleX"
+                android:valueTo="0.85"
+                android:valueType="floatType" />
+            <objectAnimator
+                android:duration="@android:integer/config_shortAnimTime"
+                android:propertyName="scaleY"
+                android:valueTo="0.85"
+                android:valueType="floatType" />
+        </set>
+    </item>
+    <!-- the default, non-pressed state; set x and y size to 100% -->
+    <item android:state_pressed="false">
+        <set>
+            <objectAnimator
+                android:duration="@android:integer/config_shortAnimTime"
+                android:propertyName="scaleX"
+                android:valueTo="1"
+                android:valueType="floatType" />
+            <objectAnimator
+                android:duration="@android:integer/config_shortAnimTime"
+                android:propertyName="scaleY"
+                android:valueTo="1"
+                android:valueType="floatType" />
+        </set>
+    </item>
+
+
+</animated-selector>