我真的需要帮助。
这就是我的应用程序的样子。我有两(2)个片段,左边是按钮,右边是我的细节。
较大的片段有一个默认显示,我称之为splash。在这里查看图像,这是一个更大的图像,可以获取设备的高度。
所以我的情况是当我点击/按下按钮1时,它会显示该片段,但图像仍然存在。
我现在的问题是,如何摆脱'泼水显示'?
这是我的代码
/**
* on main listener
*/
@Override
public void onMainListener(String whatPress){
Fragment fr = null;
if(whatPress.equals("button1"))
fr = new FragmentOne();
if(whatPress.equals("button2"))
fr = new FragmentTwo();
if(whatPress.equals("button3"))
fr = new FragmentThree();
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.detailFragment, fr, whatPress);
fragmentTransaction.commit();
}
上面的代码是处理按下按钮的代码。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<fragment
android:id="@+id/menuFragment"
android:name="FragmentMenu"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
class="com.mizsh.Fragment_Menu" />
<fragment
android:id="@+id/detailFragment"
android:name="com.mizsh.Fragment_Splash"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent" />
</LinearLayout>
上面的代码是我的main.xml
答案 0 :(得分:1)
您应该将detailFragment
替换为FrameLayout
<FrameLayout android:id="@+id/detailFragment" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent" />
并将其替换为活动Fragment_Splash
中的onCreate
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.detailFragment, fragmentSplash, null);
fragmentTransaction.commit();
然后点击
替换所选片段FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.detailFragment, chosenFragment, null);
fragmentTransaction.commit();