używam ObjectAnimator skalowanie w dół RelativeLayout:ObjectAnimator z właściwością scale sprawia, że bg jest czarny?
ObjectAnimator scaleDownX = ObjectAnimator.ofFloat(view, "scaleX", 0.5f);
ObjectAnimator scaleDownY = ObjectAnimator.ofFloat(view, "scaleY", 0.5f);
scaleDownY.setDuration(1000);
AnimatorSet scaleDown = new AnimatorSet();
scaleDown.play(scaleDownX).with(scaleDownY);
scaleDown.start();
To skaluje w dół dość dobrze, jak oczekiwano, ale problemem jest to, że obszar wokół teraz mniejszy widzenia jest czarny aż innego działania użytkownika, co jest niepożądane. Chcę, aby pasował do tła rodzica skalowanego widoku. Każdy pomysł, jak sprawić, by obszar wokół czerwonego kwadratu miał natychmiast właściwy kolor?
Moje xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:gui="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/bg"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity$DummySectionFragment">
<RelativeLayout
android:id="@+id/res1"
android:layout_width="50dp"
android:layout_height="50dp"
android:tag="res1"
android:background="@android:color/holo_red_dark"
android:layout_alignTop="@+id/res2"
android:layout_alignRight="@+id/include3"
android:layout_marginRight="11dp">
<TextView
android:layout_marginLeft="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="res1"
android:id="@+id/res1T"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
</RelativeLayout>
myślałem o tym, ale rodzic zostaje unieważniona około 20 razy, co może stanowić niepotrzebne obciążenie. Cóż, dopóki nie znajdę lepszego rozwiązania, myślę, że będę musiał z tym żyć.thx – slezadav
Inna odpowiedź jest czystsza i lepsza – afollestad
"scaleX" i "scaleY" można zastąpić View.SCALE_X.getName() i View. SCALE_Y.getName() – dor506