Android:当我使用Fragments时,有两个元素落后于其他元素,但应该相互关注

时间:2014-03-26 17:49:16

标签: android android-layout android-fragments xamarin

我有这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/blue_bg">
<RelativeLayout
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/pager1" />
<Button
    android:text="Button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/StartFindButton"
    android:layout_below="@+id/pager1" />
<RelativeLayout
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/StartFindButton"
    android:id="@+id/pager2" />
</RelativeLayout>

Pager1,startFindButton,pager2应该互相跟随。

我在片段中这样做:

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        var view = inflater.Inflate(Resource.Layout.TwoPagerLayout, container, false);
        FragmentTransaction fragmentTx = this.FragmentManager.BeginTransaction();
        fragmentTx.Add(Resource.Id.pager1, SearchOptionsFragment);
        fragmentTx.Add(Resource.Id.pager2, ProcedureListFragment);
        fragmentTx.Commit();
        return view;
    }

但是在结果中我有Pager1,startFindButton在Pager2后面。为什么? 感谢

1 个答案:

答案 0 :(得分:0)

你必须使用

android:layout_below="@id/StartFindButton"

而不是

android:layout_below="@+id/StartFindButton"

看到区别?如果你不这样做,那么+就会丢失:)为你的所有观点都这样做。

使用+你添加一个新的id,没有它你就会引用那个id。