我对这整个机器人来说都是新手,我在这里遇到了一些麻烦。
我正在关注片段和ViewList的教程。我想为每个RelativeLayout添加两个片段。我也在设置这些RelativeLayouts的layout_weitght
,但这似乎不起作用,因为我理解它应该。
以下是添加片段的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//add fragments
//get Assessor object passed in intent and createNewInstance of fragment, setting defaults
Assessor assessor = new Assessor();
assessor.set_name("TestName");
user_profile_fragment frag = user_profile_fragment.newInstance(assessor);
ListFragment fragList = ListFragment.newInstance();
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.userProfileContainer, frag);
transaction.add(R.id.listContainer, fragList);
transaction.commit();
setContentView(R.layout.activity_main);
}
这是我调用onCreate的活动的xml,并尝试添加片段:
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layoutContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.andre.vehicleasseessing.MainActivity">
<RelativeLayout
android:id="@+id/userProfileContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="10dp">
</RelativeLayout>
<RelativeLayout
android:id="@+id/listContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="3"
android:background="@color/colorAccent">
</RelativeLayout>
</LinearLayout>
这是输出,目前:
根据我的理解,设置layout_weight
,应该使输出看起来有点不同。用户容器应占据屏幕的四分之一,而列表应占用屏幕的四分之三左右。
我做错了什么?
答案 0 :(得分:1)
改为使用LinearLayout
。
使用父线性布局的layout_sum
属性,值 4 。
随后的LinearLayout应根据需要设置布局权重。 在您的情况下,布局权重应分别为 1 和 3 。
<强>更新强>:
建议您为每个孩子设置布局高度 0dp 以占用相等的空间。您可以参考here获取更多信息。
答案 1 :(得分:1)
我建议将两个嵌套相对布局的layout_height属性设置为0dp,然后适当地重视权重。