을 제안한다. 그런 다음 코드에 Fragments를 FrameLayouts에 추가합니다. 1 조각을 각각. 이렇게하면 원하는 방식으로 조각을 쉽게 이동할 수 있습니다. 슬라이딩 메뉴, 상단 슬라이딩, 측면 슬라이딩, 상하 반복. 이런 식으로하면 쉽습니다.
왼편을 선택하면 다른 2 개의 오른쪽을 밀 수 있습니다. 가운데가 초점 슬라이드를 받으면 왼쪽과 오른쪽 중 하나 오른쪽으로 초점이 맞으면 오른쪽 끝이 초점을 맞추고 다른 쪽 끝은 왼쪽.
또는 위에서 아래로 수행 할 수 있습니다. 또는 3 개의 모든 공간에 항상 같은 공간이있을 수 있습니다. 또는 항상 오른쪽, 왼쪽, 위, 아래쪽에 집중되지 않은 것들을 밀어 넣을 수 있습니다. 가능성은 무한합니다. 초점이 맞지 않는 2에서 1/4 크기를 축소하여 화면의 한면 (위쪽이 상단)과 아래쪽면 (바닥)에 밀어 넣을 수 있습니다.
어디로 가나 요?
그렇지 않으면 3 프레임 단위로 선형 레이아웃을 수행하고 각 framelayout을 weight = 1로 설정합니다 (항상 완벽하게 유지하기 위해 몇 가지 다른 옵션을 전환해야 할 수도 있음). 그런 다음 조각을 추가하십시오.
public void swapfragment(int fragId, Bundle args, boolean slide)
{
FragmentTransaction ft = getFragmentManager().beginTransaction();
switch (fragId)
{
case FRAGID_DEVICE:
currentFrag = new FragmentDevice();
currentFrag.setArguments(args);
((FragmentDevice) currentFrag).initialize();
break;
case FRAGID_NETWORK:
currentFrag = new FragmentNetwork();
currentFrag.setArguments(args);
((FragmentNetwork) currentFrag).initialize();
break;
}
ft.replace(R.id.flFragHost, currentFrag).commit();
if (slide)
slideFragment();
}
private void slideFragment()
{
final Point displaySize = new Point();
getWindowManager().getDefaultDisplay().getSize(displaySize);
if (isFragmentOut)
{
isFragmentOut = false;
Animation slideOutAnimation = AnimationUtils.loadAnimation(this, R.anim.slide_right_out_80);
AnimationListener listener = new Animation.AnimationListener()
{
public void onAnimationStart(Animation animation)
{
}
public void onAnimationRepeat(Animation animation)
{
}
public void onAnimationEnd(Animation animation)
{
int pushback = (int) (displaySize.x * .8f);
rlFragHost.clearAnimation();
RelativeLayout.LayoutParams FragContainerParams;
FragContainerParams = (android.widget.RelativeLayout.LayoutParams) rlFragHost.getLayoutParams();
FragContainerParams.setMargins(pushback, 0, pushback * -1, 0);
rlFragHost.setLayoutParams(FragContainerParams);
}
};
slideOutAnimation.setAnimationListener(listener);
rlFragHost.startAnimation(slideOutAnimation);
}
else
{
isFragmentOut = true;
Animation slideInAnimation = AnimationUtils.loadAnimation(this, R.anim.slide_left_in_80);
AnimationListener listener = new Animation.AnimationListener()
{
public void onAnimationStart(Animation animation)
{
}
public void onAnimationRepeat(Animation animation)
{
}
public void onAnimationEnd(Animation animation)
{
rlFragHost.clearAnimation();
RelativeLayout.LayoutParams FragContainerParams;
FragContainerParams = (android.widget.RelativeLayout.LayoutParams) rlFragHost.getLayoutParams();
FragContainerParams.setMargins(0, 0, 0, 0);
rlFragHost.setLayoutParams(FragContainerParams);
}
};
slideInAnimation.setAnimationListener(listener);
rlFragHost.startAnimation(slideInAnimation);
}
}
나는 이것이 당신이 필요로 정확히 아니라는 것을 알고 있지만, 그것은 당신이 시작할 수 있어야합니다. 이것은 내가 슬라이딩 메뉴를하는 방법입니다.
조각을 사용하십시오. 하나는 목록 용이고 다른 하나는지도를 표시하는 것입니다. – Raghunandan