From e799626df47f99e4ba70bcfe787fdbdac64a8cc7 Mon Sep 17 00:00:00 2001 From: nicolasroard Date: Tue, 13 Aug 2013 16:29:11 -0700 Subject: Fix tablet UI layout Change-Id: I19a6f6751dd7754e8b0de6eb22a82041b1dff29f --- res/layout-land/filtershow_activity.xml | 51 ++++++++++++++-------- res/layout-land/filtershow_editor_panel.xml | 14 +++--- res/layout-land/filtershow_main_panel.xml | 12 +++-- res/layout-land/filtershow_state_panel_new.xml | 33 -------------- res/layout/filtershow_editor_panel.xml | 7 ++- res/layout/filtershow_state_panel_new.xml | 2 +- .../gallery3d/filtershow/FilterShowActivity.java | 4 ++ .../gallery3d/filtershow/category/MainPanel.java | 14 ++++-- .../gallery3d/filtershow/editors/EditorPanel.java | 18 +++++++- .../gallery3d/filtershow/state/StatePanel.java | 1 + 10 files changed, 84 insertions(+), 72 deletions(-) delete mode 100644 res/layout-land/filtershow_state_panel_new.xml diff --git a/res/layout-land/filtershow_activity.xml b/res/layout-land/filtershow_activity.xml index a47396f2f..e6599f049 100644 --- a/res/layout-land/filtershow_activity.xml +++ b/res/layout-land/filtershow_activity.xml @@ -28,33 +28,48 @@ android:animateLayoutChanges="true"> + android:layout_weight="1" + android:orientation="vertical" + > - + android:layout_width="wrap_content" + android:layout_height="0dp" + android:orientation="horizontal"> - + - + + + + + + + + - + - - + + \ No newline at end of file diff --git a/res/layout-land/filtershow_state_panel_new.xml b/res/layout-land/filtershow_state_panel_new.xml deleted file mode 100644 index c83cd8833..000000000 --- a/res/layout-land/filtershow_state_panel_new.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/res/layout/filtershow_editor_panel.xml b/res/layout/filtershow_editor_panel.xml index a6da46a08..7332657a4 100644 --- a/res/layout/filtershow_editor_panel.xml +++ b/res/layout/filtershow_editor_panel.xml @@ -22,6 +22,11 @@ android:orientation="vertical" android:visibility="visible" > + + diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index 5ef5724c3..733084915 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -637,6 +637,10 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL mCategoryBordersAdapter.reflectImagePreset(preset); } + public View getMainStatePanelContainer(int id) { + return findViewById(id); + } + private class LoadHighresBitmapTask extends AsyncTask { @Override protected Boolean doInBackground(Void... params) { diff --git a/src/com/android/gallery3d/filtershow/category/MainPanel.java b/src/com/android/gallery3d/filtershow/category/MainPanel.java index 47f575d4d..9eccad3ed 100644 --- a/src/com/android/gallery3d/filtershow/category/MainPanel.java +++ b/src/com/android/gallery3d/filtershow/category/MainPanel.java @@ -257,11 +257,19 @@ public class MainPanel extends Fragment { } public void showImageStatePanel(boolean show) { - if (mMainView.findViewById(R.id.state_panel_container) == null) { + View container = mMainView.findViewById(R.id.state_panel_container); + FragmentTransaction transaction = null; + if (container == null) { + FilterShowActivity activity = (FilterShowActivity) getActivity(); + container = activity.getMainStatePanelContainer(R.id.state_panel_container); + } else { + transaction = getChildFragmentManager().beginTransaction(); + } + if (container == null) { return; + } else { + transaction = getFragmentManager().beginTransaction(); } - FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); - final View container = mMainView.findViewById(R.id.state_panel_container); int currentPanel = mCurrentSelected; if (show) { container.setVisibility(View.VISIBLE); diff --git a/src/com/android/gallery3d/filtershow/editors/EditorPanel.java b/src/com/android/gallery3d/filtershow/editors/EditorPanel.java index bc4ca6ab6..97b3075df 100644 --- a/src/com/android/gallery3d/filtershow/editors/EditorPanel.java +++ b/src/com/android/gallery3d/filtershow/editors/EditorPanel.java @@ -120,10 +120,21 @@ public class EditorPanel extends Fragment { } public void showImageStatePanel(boolean show) { - if (mMainView.findViewById(R.id.state_panel_container) == null) { + View container = mMainView.findViewById(R.id.state_panel_container); + FragmentTransaction transaction = null; + boolean child = false; + if (container == null) { + FilterShowActivity activity = (FilterShowActivity) getActivity(); + container = activity.getMainStatePanelContainer(R.id.state_panel_container); + } else { + transaction = getChildFragmentManager().beginTransaction(); + child = true; + } + if (container == null) { return; + } else { + transaction = getFragmentManager().beginTransaction(); } - FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); Fragment panel = getActivity().getSupportFragmentManager().findFragmentByTag( MainPanel.FRAGMENT_TAG); if (panel == null || panel instanceof MainPanel) { @@ -134,6 +145,9 @@ public class EditorPanel extends Fragment { transaction.replace(R.id.state_panel_container, statePanel, StatePanel.FRAGMENT_TAG); } else { Fragment statePanel = getChildFragmentManager().findFragmentByTag(StatePanel.FRAGMENT_TAG); + if (child) { + statePanel = getFragmentManager().findFragmentByTag(StatePanel.FRAGMENT_TAG); + } if (statePanel != null) { transaction.remove(statePanel); } diff --git a/src/com/android/gallery3d/filtershow/state/StatePanel.java b/src/com/android/gallery3d/filtershow/state/StatePanel.java index d65a77260..ff405cd98 100644 --- a/src/com/android/gallery3d/filtershow/state/StatePanel.java +++ b/src/com/android/gallery3d/filtershow/state/StatePanel.java @@ -44,6 +44,7 @@ public class StatePanel extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mMainView = (LinearLayout) inflater.inflate(R.layout.filtershow_state_panel_new, null); + View panel = mMainView.findViewById(R.id.listStates); track = (StatePanelTrack) panel; track.setAdapter(MasterImage.getImage().getState()); -- cgit v1.2.3