我希望你的照片適合記憶。
您可以將每個圖像的ImageView添加到FrameLayout,並讓一個ImageView可見。 然後,您甚至可以使用淡入/淡出動畫來改善切換到下一張圖像時的效果。
ImageView[] imageViews;
int currentView = 0;
...
// fill imageViews
...
ImageView image1 = imageViews[currentView];
if (moveRight) {
if (++currentView >= imageViews.length) currentView = 0;
} else {
if (--currentView < 0) currentView = imageViews.length - 1;
}
ImageView image2 = imageViews[currentView];
image1.setVisibility(View.INVISIBLE);
image1.startAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_out));
image2.setVisibility(View.VISIBLE);
image2.startAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_in));
動畫/ fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="150"
android:fromAlpha="0.0"
android:toAlpha="1.0"/>
</set>
動畫/ fade_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="150"
android:fromAlpha="1.0"
android:toAlpha="0.0"/>
</set>
關於硬件加速,我覺得在這種情況下的Android可以爲您處理。 從Android 3.0的,你可以在清單應用程序或活動定義它:
android:hardwareAccelerated="true"
或者你可以將它設置只爲特定視圖。
使用XML:
android:layerType="hardware"
使用Java:
view.setLayerType(View.LAYER_TYPE_HARDWARE, null);
在這裏你可以找到更多有關Hardware Acceleration
我不明白你的問題......聽起來像你想創建一個允許用戶拍攝一堆照片的應用程序,然後以某種方式將它們全部以動畫形式顯示出來,並可以像耳環一樣向圖像添加一些內容...您希望如何他們能夠添加東西?他們是否需要提供耳環的14至16張照片,或者您將預先加載這些照片?你在尋找什麼樣的例子?你想要一個已經完成你所描述的應用程序的例子嗎? – pabrams
如果您在我的問題中看到我共享的圖像,那麼您會發現她穿着耳朵的一個女孩圖像(Earing是動態物體)並且臉部移動180度,以便我可以在3D模型中看到兩個耳飾。 「 – Hits