我有一个主要的LinearLayout,有两个孩子。其中一个是片段,另一个是Linearlayout,它有自己的子元素。当我打电话给X_new < xmax
时,这2个孩子会改变位置。位于顶部的片段现在位于底部。我该如何解决这个问题?
我的xml代码:
fragmentTransaction.replace(R.id.mainLayout, fragment);
fragmentTransaction.commit();
编辑: 添加了一些Java代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:name="mojavozacka.testovi_za_vozacka_dozvola.Znaci2Fragment"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"></fragment>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/buttonshape"
android:orientation="horizontal">
<HorizontalScrollView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout
android:id="@+id/linearLayoutAppbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
</LinearLayout>
</HorizontalScrollView>
<ImageView
android:layout_width="50dp"
android:layout_height="match_parent"
android:src="@drawable/s202_background" />
</LinearLayout>
单击片段中的视图并更改片段视图时调用的某个方法。
FragmentManager fragmentManager;
FragmentTransaction fragmentTransaction;
@Override
public void onCreate(Bundle b)
{
super.onCreate(b);
setContentView(R.layout.test_layout);
fragmentManager = getFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
...
答案 0 :(得分:0)
而不是这个,
<fragment
android:name="mojavozacka.testovi_za_vozacka_dozvola.Znaci2Fragment"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"></fragment>
添加容器,
<RelativeLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/fragment_container"/>
然后用片段替换容器
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();