MapActivity
, ListActivity
및 a (보통) DetailsActivity
의 세 조각으로 표시된 작업이 있습니다. ListActivity
및 DetailsActivity
은 MapActivity 위에 배치됩니다.MapView가 확대/축소 될 때 조각이 기본 위치로 계속 이동합니다
애니메이션을 사용하여 ListActivity와 DetailsActivity를 모두 숨기는 기능이 있으며 숨겨진 활동에 대한 새 레이아웃을 설정했습니다.
내가 직면 해요 문제는 ListActivity 또는 DetailsActivity 숨겨진 (사진 주 2)의 때마다 하나이며, 그 다음 내가지도를 확대 할 MapActivity에 화면을 꼬집어 항상 기본보기로 돌아갑니다 (그림 상태 1). 닫힌 활동이 자동으로 다시 열립니다.
아무도 내가 MapActivity를 집어 넣을 때 숨겨진 조각이 다시 첫 번째 상태로가는 것을 방지하는 방법을 알고 있습니까?
public void hideDetailview() {
final Animation close = AnimationUtils.loadAnimation(this, R.anim.close);
close.setFillEnabled(true);
close.setAnimationListener(closeDetailAnimationListener);
fragment_detail.startAnimation(close);
Toast.makeText(MainFragmentActivity.this,WWHApplication.getDrawer(), Toast.LENGTH_SHORT).show();
}
private AnimationListener closeDetailAnimationListener = new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
int newLeft = -330;
fragment_detail.layout(newLeft,
fragment_detail.getTop(),
newLeft + fragment_detail.getMeasuredWidth(),
fragment_detail.getTop() + fragment_detail.getMeasuredHeight());
}
};
다음은 XML 레이아웃입니다 :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.wwh"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/my_map_fragment1"
android:name="com.wwh.fragments.MyMapFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<!-- Preview: [email protected]/my_map_fragment -->
</fragment>
<RelativeLayout
android:id="@+id/fragment_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="55dp"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/detail_layout"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<fragment
android:id="@+id/my_detail_fragment"
android:name="com.wwh.fragments.DetailFragment"
android:layout_width="380dp"
android:layout_height="fill_parent" />
<LinearLayout
android:id="@+id/border_detail"
android:layout_width="1dp"
android:layout_height="fill_parent"
android:background="@drawable/border"
android:orientation="vertical" />
</LinearLayout>
<LinearLayout
android:id="@+id/list_layout"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_toRightOf="@+id/detail_layout"
android:orientation="horizontal" >
<fragment
android:id="@+id/my_list_fragment"
android:name="com.wwh.fragments.MyListFragment"
android:layout_width="380dp"
android:layout_height="fill_parent"
android:background="@drawable/border"
android:shadowColor="#000000"
android:shadowDx="1.2"
android:shadowDy="12"
android:shadowRadius="12" />
<LinearLayout
android:id="@+id/border_list"
android:layout_width="1dp"
android:layout_height="fill_parent"
android:background="@drawable/border"
android:orientation="vertical" />
<ImageView
android:id="@+id/shadow_vertical"
android:layout_width="2dp"
android:layout_height="fill_parent"
android:layout_marginTop="53dp"
android:background="@drawable/shadow_vertical" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
지도에서 핀치 이벤트를 수동으로 구현하고 있습니까? 아니면 통합 된지도 확대 기능을 사용하고 있습니까? – 10s
컨트롤을 통합 한지도를 사용하고 있습니다. – hectichavana