MapActivity
a 、 a ListActivity
、および a (normal) の3 つのフラグメントが表示されたアクティビティがありDetailsActivity
ます。ListActivity
andDetailsActivity
は MapActivity の上に配置されます。
ListActivity と DetailsActivity の両方を Animation で非表示にする機能がありonAnimationEnd()
、非表示の Activity に新しいレイアウトを設定しました。
私が直面している問題は、ListActivity または DetailsActivity のいずれかが非表示になるたびに(写真の状態 2) 、MapActivity の画面をつまんでマップをズームすると、常にデフォルトのビュー(写真の状態 1)に戻ることです。閉じられたアクティビティは自動的に再び開かれます。
MapActivity をつまんだときに、非表示のフラグメントが再び最初の状態にならないようにする方法を知っている人はいますか?
これは、DetailsActivity() を非表示にする関数の例です。
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: layout=@layout/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>