Two Panels Layout Animation Android Library is fully customizable with a drag-gable divider where you can hide and show the fragments in vertical and horizontal and customize the behavior on orientation changes. The library have a slider separating the fragments, you can drag this slider and the fragments resize the views inside.

You need to declare in your activity manifest:
android:configChanges="keyboardHidden|orientation|screenSize"
Usage TwoPanelsBaseActivity
public class MainActivity extends TwoPanelsBaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyRightFragment mRightFragment = new MyRightFragment();
MyLeftFragment mLeftFragment = new MyLeftFragment();
getFragmentManager().beginTransaction().add(R.id.right, mRightFragment).commit();
getFragmentManager().beginTransaction().add(R.id.left, mLeftFragment).commit();
}
| Methods | Description |
| setSlidersDrawables(int verticalDrawable, int horizontalDrawable) | Set de drawables for the slider in horizontal and vertical like this example: setSlidersDrawables(R.drawable.slider_vertical, R.drawable.slider_horizontal); |
| setSliderSize(int size) | Set the slider size |
| switchSliderVisitility(); | Set the visivility of the slider with an animate effect. |
| setBaseOrientation(int orientation) | Set the orientation of the panels with the values LinearLayout.VERTICAL or LinearLayout.HORIZONTAL, default is LinearLayout.HORIZONTAL. |
| slideFragmentsToRight() | Slide the fragments to the right with an animation. |
| slideFragmentsToLeft() | Slide the fragments to the left with an animation. |
| showTwoFragments() | Show two panels in the screen. |
| hideRight() | Hide the right panel and show the left panel in full screen. |
| hideLeft() | Hide the left panel and show the right panel in full screen. |
Usage RightFragment and LeftFragment
You can use normal fragments or extends from RightFragment and LeftFragment, these fragments have a button for slide the fragments, this button change automatically the drawables on orientation changes of the layout.
Example:
public class MyRightFragment extends RightFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
LinearLayout linear = new LinearLayout(getActivity());
LayoutInflater layoutInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layoutInflater.inflate(R.layout.myright_fragment, linear, true);
LinearLayout linearInParent = (LinearLayout) mContainer.findViewById(R.id.linearRight);
linearInParent.addView(linear);
return this.mContainer;
}
}
| Methods | Description |
| switchButtonsSliderVisivility() | Toggle the visibility of the slider button. |
| setSliderButtonsDrawables(int, int) | Set the drawables of the slider button according orientation of the layout. |

Share your thoughts