kindda अजीब स्थिति में सहभागी दृश्य के बाद परिवर्तन नहीं करता है ...क्लिक के प्रति संवेदनशील क्षेत्र एनिमेट और एंड्रॉयड
मैं एक imageView जो इसके साथ जुड़े एक क्लिक इंटरैक्शन है की है।
कोड में मैं एक एनीमेशन के माध्यम से ImageView की स्थिति बदलता हूं।
लेकिन जब एनीमेशन क्लिक करने योग्य क्षेत्र को समाप्त करता है तब भी छवि दृश्य के मूल स्थान पर है (मैं वास्तव में उस क्षेत्र को टैप कर सकता हूं और क्लिक को संभाला जा सकता हूं)।
कुछ शोध किया गया था, ऐसा लगता है कि एनीमेशन केवल दृश्य पिक्सल को चारों ओर ले जाता है, दृश्य मूल रूप से वहां रहता है।
एंड्रॉइड की आलोचना के रूप में - यह एक सहज डिजाइन/कार्यान्वयन नहीं है। यह के अनुरूप नहीं है "आप जो देखते हैं वह आपको मिलता है" मानदंड।
और मेरे सवाल
वहाँ एक रास्ता (दो अलग अलग ImageViews के बीच टॉगल को छोड़कर) जहां दृश्य पिक्सल हैं क्लिक करने योग्य क्षेत्र चाल बनाने के लिए है?
मेरा लेआउट और एनीमेशन एक्सएमएल संरचनाएं निम्नानुसार हैं।
लेआउट:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keywords_layer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="0dp"
android:padding="0dp"
android:orientation="vertical"
android:visibility="gone"
>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="35dp"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="35dp"
android:layout_centerInParent="true"
android:adjustViewBounds="false"
android:scaleType="fitXY"
android:src="@drawable/keyword_bar_handle"
/>
<ImageView
android:id="@+id/bar_handle"
android:layout_width="45dp"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:adjustViewBounds="false"
android:scaleType="fitXY"
/>
</RelativeLayout>
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="@dimen/browser_address_bar_1_5_height"
android:layout_margin="0dp"
android:padding="0dp"
android:background="@drawable/keyword_bar_bg"
android:scrollbars="none"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="@dimen/browser_address_bar_1_5_height"
android:layout_margin="0dp"
android:padding="0dp"
/>
</HorizontalScrollView>
एनिमेशन:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fillEnabled="true"
android:fillAfter="true">
<translate
android:fromYDelta="60"
android:toYDelta="0"
android:duration="300"
/>
</set>
यहाँ लेआउट स्क्रीन के नीचे करने के लिए गठबंधन और जरूरत के लिए जा सुचारू रूप से चालू किए जाने पर - छिपा या दिखाया गया है। "bar_handle" ImageView टॉगलिंग को संभालता है। "bar_handle" एनिमेटेड संरचना के अंदर है, इसलिए यह इसके साथ चलता है।
किसी भी मदद के लिए धन्यवाद।
धन्यवाद @Changwei याओ। शायद यह कई विचारों को बनाए रखने के बिना पूरा करने का एकमात्र तरीका है, लेकिन किसी आइटम को स्क्रॉल करने से दृश्य आगे बढ़ जाएगा जैसे एनीमेशन परिणाम पूर्ववत होना आवश्यक है। इंजीनियरिंग से थोड़ा सा लगता है। –