android:片段互相显示

时间:2016-08-09 20:23:39

标签: android android-layout android-fragments xamarin xamarin.android

我试图在一个活动上添加两个片段。 问题是片段彼此显示而不是彼此之间。

我的代码:

<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  <FrameLayout
      android:id="@+id/sample_content_fragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
  <FrameLayout
      android:id="@+id/sample_content_fragment2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        />
</RelativeLayout>

protected override void OnCreate(Bundle bundle)
{
  base.OnCreate(bundle);

  SetContentView(Resource.Layout.Main);

  SlidingTabsFragment fragment = new SlidingTabsFragment();
  MediaPlayerFragment mpFragment = new MediaPlayerFragment();

  FragmentTransaction transaction = FragmentManager.BeginTransaction();

  transaction.Replace(Resource.Id.sample_content_fragment, fragment);
  transaction.Replace(Resource.Id.sample_content_fragment2, mpFragment);

  transaction.Commit();
}

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
  return inflater.Inflate(Resource.Layout.mediaplayer, container, false);
}

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

尝试使用RelativeLayout

换出LinearLayout
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  <FrameLayout
      android:id="@+id/sample_content_fragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
  <FrameLayout
      android:id="@+id/sample_content_fragment2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        />
</LinearLayout>

答案 1 :(得分:0)

试试这个!

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:id="@+id/layout_select_course"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

   <RelativeLayout
       android:layout_width="match_parent"
       android:layout_height="0dp"
       android:layout_weight="0.5">
         <FrameLayout
            android:id="@+id/sample_content_fragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
   </RelativeLayout>

   <FrameLayout
      android:id="@+id/sample_content_fragment2"
      android:layout_width="match_parent"
      android:layout_height="match_parent"/>

</LinearLayout>

答案 2 :(得分:0)

试试这个: 它应该使您的布局占用每个屏幕的一半。或者你可以玩重量或只用一个重量和其他与wrap_content没有重量。只要确保片段布局不是太大,另一个就适合。

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <FrameLayout
        android:id="@+id/sample_content_fragment"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="0dp" />
    <FrameLayout
        android:id="@+id/sample_content_fragment2"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="0dp"/>
</LinearLayout>