kindda seltsame Situation ...Die Click-sensiblen Bereich ändert sich nicht nach dem Animieren und interaktive Ansicht in android
ich ein Image haben, die einen Klick Interaktion mit ihm verbunden hat.
Im Code ändere ich die Position des ImageView über eine Animation.
Aber wenn die Animation beendet ist, befindet sich der anklickbare Bereich immer noch im ursprünglichen Bereich von ImageView (ich kann tatsächlich auf diesen Bereich tippen und den Klick sehen, der bearbeitet wird).
Hat etwas Forschung, scheint, dass die Animation nur die Ansicht Pixel bewegt, bleibt die Ansicht, wo es ursprünglich war.
Als ein bisschen eine Kritik an Android - das ist kein intuitives Design/Implementierung. Dies entspricht nicht "Was Sie sehen, ist, was Sie bekommen" Kriterien.
Und meine Frage ist
ist es eine Möglichkeit (außer zwischen zwei verschiedenen ImageViews Makeln), um den klickbaren Bereich bewegen, wo die Sicht Pixel zu machen?
Meine Layout und Animation xml Strukturen sind wie folgt.
Layout:
<?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>
Animation:
<?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>
hier im Layout an der Unterseite des Bildschirms ausgerichtet ist, und muss reibungslos umgeschaltet werden - ein- oder ausgeblendet. "bar_handle" ImageView übernimmt das Umschalten. "bar_handle" befindet sich in der animierten Struktur und bewegt sich damit.
Danke für jede Hilfe.
Dank @Changwei Yao. Dies ist wahrscheinlich der einzige Weg, um zu erreichen, ohne mehrere Ansichten beizubehalten, aber das Scrollen eines Gegenstands wird die Ansicht weiter so verschieben, dass das Animationsergebnis rückgängig gemacht werden muss. Scheint ein bisschen über Engineering. –