我有一个布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:fillViewport="true"
android:gravity="top" >
<LinearLayout
android:id="@+id/foodItemActvity_linearLayout_fragments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/foodItemActvity_linearLayout_fragments_row1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">
</LinearLayout>
</LinearLayout>
</ScrollView>
现在在我的代码中,我以编程方式将 2 个片段添加到名为 Fragments_row1 的 LinearLayout
但是在我的片段的布局文件中,我无法设置线性布局的权重?我希望两个片段以 50% 的权重布局彼此并排显示。
这是我的两个片段布局的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:text="IMAGE" />
<ImageView
android:id="@+id/fragment_image_imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="Product Image"
android:src="@drawable/call_waiter_icon" />
和:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text Box" />
我想要这个等价,但我需要以编程方式添加片段。
<LinearLayout
android:id="@+id/foodItemActvity_linearLayout_fragments_row1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2" >
<fragment
android:id="@+id/fragment1"
android:name="dds.ImageFragment"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
tools:layout="@layout/fragment_dds_image" />
<fragment
android:id="@+id/fragment2"
android:name="dds.RatingFragment"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
tools:layout="@layout/fragment_dds_rating" />
</LinearLayout>
编辑:
<LinearLayout
android:id="@+id/foodItemActvity_linearLayout_fragments_row1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2" >
<FrameLayout
android:id="@+id/frame1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" >
</FrameLayout>
<FrameLayout
android:id="@+id/frame2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" >
</FrameLayout>
</LinearLayout>
以及添加片段的代码
getSupportFragmentManager().beginTransaction().add(R.id.frame1, frag1, "fragment_grandchild1" + fragCount).commit();
getSupportFragmentManager().beginTransaction().add(R.id.frame2, frag2, "fragment_grandchild2" + fragCount).commit();