لتحقيق تأثير النقر المموه للأزرار في تطبيق الأندرويد بعد تغيير لون الخلفية، يمكنك استخدام android:backgroundTint
بدلاً من android:background
في عنصر الزر. هذا يسمح بتغيير لون الخلفية دون فقدان تأثير النقر.
قم بتغيير الكود الخاص بأزرار الساعة في واجهة المستخدم الخاصة بك إلى ما يلي:
xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:orientation="horizontal">
<Button
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:backgroundTint="#4CAF50"
android:gravity="center"
android:text="Clock In"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFF"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#B6B6B6"/>
<Button
android:id="@+id/textView4"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:backgroundTint="#FF5252"
android:gravity="center"
android:text="Clock Out"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFF"/>
LinearLayout>
بعد القيام بذلك، يجب أن تظهر الأزرار بلون الخلفية المحدد ومع تأثير النقر المموه كما هو متوقع.
المزيد من المعلومات
تأكد من أنك قمت بتحديد android:foreground="?attr/selectableItemBackground"
للأزرار الخاصة بك، حيث يتم استخدام هذا الخصائص لإضافة التأثير المموه للنقر (ripple effect) إلى الأزرار. إليك كيفية تعديل الأزرار في ملف XML الخاص بواجهة المستخدم لديك:
xml<Button
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:backgroundTint="#4CAF50"
android:foreground="?attr/selectableItemBackground"
android:gravity="center"
android:text="Clock In"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFF"/>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="#B6B6B6"/>
<Button
android:id="@+id/textView4"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:backgroundTint="#FF5252"
android:foreground="?attr/selectableItemBackground"
android:gravity="center"
android:text="Clock Out"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFF"/>
بعد إضافة android:foreground="?attr/selectableItemBackground"
، يجب أن يعمل تأثير النقر المموه بشكل صحيح مع تغييرات الألوان التي قمت بها.