在 ImageView 中短时间显示图像,然后恢复为原始图像

Show an image for a short time in ImageView and then revert back to original image

在一个简单的应用程序中,我有 2 个按钮和它们下面的图像:

<Button
    android:id="@+id/open"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawableLeft="@drawable/open"
    android:onClick="openCar"
    android:text="@string/open_car" />

<ImageView
    android:id="@+id/car_image"
    android:layout_width="match_parent"
    android:scaleType="fitCenter"
    android:src="@drawable/closed_car"
    android:layout_height="0dp"
    android:layout_weight="1" />

当前按钮单击处理程序只是更改图像(至 opened_car):

public void openCar(View v) {
    Toast.makeText(getApplicationContext(), 
            getString(R.string.car_opened), 
            Toast.LENGTH_LONG).show();

    mNotificationManager.cancel(CommonConstants.NOTIFICATION_ID);

    mCarImage.setImageResource(R.drawable.opened_car);
}

作为一个 Android 编程新手,我想知道,一段时间后恢复到原始图像(回到 closed_car)的最佳方法是什么?

另外我想知道在核心 Android 中是否有一些更令人印象深刻的方法(即不需要任何额外的库)来交换图像 - 比如褪色 in/out?

我认为最好的方法是使用 Handlers

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
  @Override
  public void run() {
    // Do something after 100ms delay

  }
}, 100);