diff options
| author | nicolasroard <nicolasroard@google.com> | 2012-10-21 14:53:03 -0700 |
|---|---|---|
| committer | nicolasroard <nicolasroard@google.com> | 2012-10-21 15:14:54 -0700 |
| commit | 4d276f338bbdc53f8a3b4806265bc26c7fe0ea7c (patch) | |
| tree | 02069cc2c99f6d8ffc80620793ba0d33cf0b9b47 | |
| parent | 267c4c6a513671441031a9c21839995aecc4fc52 (diff) | |
| download | android_packages_apps_Gallery2-4d276f338bbdc53f8a3b4806265bc26c7fe0ea7c.tar.gz android_packages_apps_Gallery2-4d276f338bbdc53f8a3b4806265bc26c7fe0ea7c.tar.bz2 android_packages_apps_Gallery2-4d276f338bbdc53f8a3b4806265bc26c7fe0ea7c.zip | |
Only translate the main panel if we have to.
bug:7386882
Change-Id: Ib670eb4e513f0bbebd3ecca052fe27180dcf5fdc
4 files changed, 71 insertions, 47 deletions
diff --git a/res/layout/filtershow_activity.xml b/res/layout/filtershow_activity.xml index e07cb1cc7..9ccb75532 100644 --- a/res/layout/filtershow_activity.xml +++ b/res/layout/filtershow_activity.xml @@ -18,6 +18,7 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" + android:id="@+id/mainView" android:background="@color/background_screen" > <LinearLayout @@ -48,51 +49,6 @@ </LinearLayout> <LinearLayout - android:id="@+id/historyPanel" - android:layout_width="200dip" - android:layout_height="match_parent" - android:layout_gravity="right" - android:orientation="vertical" - android:visibility="invisible" > - - <TextView - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@android:color/transparent" - android:gravity="center" - android:padding="2dip" - android:text="@string/history" - android:textColor="@android:color/white" - android:textSize="24sp" - android:textStyle="bold" /> - - <ListView - android:id="@+id/operationsList" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" > - </ListView> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" > - - <Button - android:id="@+id/resetOperationsButton" - style="@style/FilterShowHistoryButton" - android:gravity="center" - android:text="@string/reset" /> - - <Button - android:id="@+id/saveOperationsButton" - style="@style/FilterShowHistoryButton" - android:text="@string/save" - android:visibility="gone" /> - </LinearLayout> - </LinearLayout> - - <LinearLayout android:id="@+id/mainPanel" android:layout_width="match_parent" android:layout_height="match_parent" @@ -458,4 +414,49 @@ </com.android.gallery3d.filtershow.CenteredLinearLayout> </LinearLayout> + <LinearLayout + android:id="@+id/historyPanel" + android:layout_width="200dip" + android:layout_height="match_parent" + android:layout_gravity="right" + android:orientation="vertical" + android:visibility="invisible" > + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@android:color/transparent" + android:gravity="center" + android:padding="2dip" + android:text="@string/history" + android:textColor="@android:color/white" + android:textSize="24sp" + android:textStyle="bold" /> + + <ListView + android:id="@+id/operationsList" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" > + </ListView> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" > + + <Button + android:id="@+id/resetOperationsButton" + style="@style/FilterShowHistoryButton" + android:gravity="center" + android:text="@string/reset" /> + + <Button + android:id="@+id/saveOperationsButton" + style="@style/FilterShowHistoryButton" + android:text="@string/save" + android:visibility="gone" /> + </LinearLayout> + </LinearLayout> + </FrameLayout> diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index 2cdc22e94..cac8aadd6 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -353,6 +353,17 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, } } + private int translateMainPanel(View viewPanel) { + int accessoryPanelWidth = viewPanel.getWidth(); + int mainViewWidth = findViewById(R.id.mainView).getWidth(); + int mainPanelWidth = mImageShow.getDisplayedImageBounds().width(); + int leftOver = mainViewWidth - mainPanelWidth - accessoryPanelWidth; + if (leftOver < 0) { + return -accessoryPanelWidth; + } + return 0; + } + private int getScreenImageSize() { DisplayMetrics metrics = new DisplayMetrics(); Display display = getWindowManager().getDefaultDisplay(); @@ -666,9 +677,10 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, mShowingHistoryPanel = false; } + int translate = translateMainPanel(viewList); if (!mShowingImageStatePanel) { mShowingImageStatePanel = true; - view.animate().setDuration(200).x(-viewList.getWidth()) + view.animate().setDuration(200).x(translate) .withLayer().withEndAction(new Runnable() { @Override public void run() { @@ -699,9 +711,10 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, mShowingImageStatePanel = false; } + int translate = translateMainPanel(viewList); if (!mShowingHistoryPanel) { mShowingHistoryPanel = true; - view.animate().setDuration(200).x(-viewList.getWidth()) + view.animate().setDuration(200).x(translate) .withLayer().withEndAction(new Runnable() { @Override public void run() { diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java index 61f998d47..40da5725b 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java @@ -312,6 +312,10 @@ public class ImageShow extends View implements OnGestureListener, return dst; } + public Rect getDisplayedImageBounds() { + return mImageBounds; + } + public ImagePreset getImagePreset() { return mImagePreset; } diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageSlave.java b/src/com/android/gallery3d/filtershow/imageshow/ImageSlave.java index c1fb0e471..ba4da91c9 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageSlave.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageSlave.java @@ -18,6 +18,7 @@ package com.android.gallery3d.filtershow.imageshow; import android.content.Context; import android.graphics.Canvas; +import android.graphics.Rect; import android.util.AttributeSet; import com.android.gallery3d.filtershow.HistoryAdapter; @@ -55,6 +56,11 @@ public class ImageSlave extends ImageShow { } @Override + public Rect getDisplayedImageBounds() { + return mMasterImageShow.getDisplayedImageBounds(); + } + + @Override public void setImagePreset(ImagePreset preset, boolean addToHistory) { mMasterImageShow.setImagePreset(preset, addToHistory); } |
