我对android非常新,我坚持从主要活动调用片段。事情就是每当我说用新的布局替换()旧的framelayout时它只是添加到原来的布局而不替换视图
我的activity_main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/splash_screen"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:animateLayoutChanges="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.jaggz.gurudawaraapp.MainActivity" >
<FrameLayout
android:id="@+id/container_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="126dp"
android:layout_marginTop="29dp"
android:src="@drawable/splash" />
<TextView
android:id="@+id/splash_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="25dp"
android:paddingLeft=" 30dp"
android:paddingRight="10dp"
android:paddingTop="300dp"
android:text="@string/splash_text"
android:textSize="@dimen/splash_text_size"
android:textStyle="bold|italic"
android:typeface="sans" />
</FrameLayout>
</RelativeLayout>
我使用上面的框架布局作为容器来替换更改片段的内容
我的代码是:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.app = (App) getApplication().getApplicationContext();
init();
}
private void init() {
Fragment frag = new SplashLoginFragment();
android.support.v4.app.FragmentManager fm1 = MainActivity.this.getSupportFragmentManager();
FragmentTransaction ft1 = fm1.beginTransaction();
ft1.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
ft1.replace(R.id.container_main, frag);
ft1.commit();
}
我有一个用于SplashLoginFragment的新xml 任何人都可以帮助我
答案 0 :(得分:0)
replace
中的FragmentTransaction
来电只关注Fragments
。它不会触及恰好在您添加Fragment
的容器中的任何其他视图。您有两个选择:
ViewGroup
以保留SplashLoginFragment
。container_main
删除所有视图。