AndroidはTransitionDrawableで2枚の画像のグラデーション切り替えを実現

3500 ワード

一、レイアウト

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/activity_main"
                android:layout_width="match_parent"
                android:layout_height="match_parent">

    <ImageView
        android:id="@+id/iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:minHeight="400dp"
        android:minWidth="400dp"
        android:src="@drawable/transition_drawable"/>

RelativeLayout>

二,@drawable/transition_drawable対応リソース

<transition  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/start_three" />
    <item android:drawable="@drawable/start_four" />
transition >

三、javaコード
public class Main4Activity extends AppCompatActivity {

    private ImageView iv;
    private TransitionDrawable transitionDrawable;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main4);

        iv = (ImageView)findViewById(R.id.iv);
        transitionDrawable = (TransitionDrawable)iv.getDrawable();
        transitionDrawable.startTransition(4000);
    }
}