Android屏幕上的两个布局

时间:2012-02-20 13:30:34

标签: android android-layout

我正在尝试创建一个具有一组相似屏幕的应用程序,因为它们将在顶部具有布局,而在底部将具有一组按钮。基本上会发生的事情是底部的一个按钮是一个微调器,每个被选中的选项都应该将一个布局膨胀到屏幕的上半部分,同时将所有按钮留在底部。

最好的解决方法是什么,而不必为屏幕底部的按钮重写xml部分。

Screen Shot 从上图中,我需要底部的五个按钮对所有屏幕保持相同,而当从微调器中选择其中一个选项时,需要更改其上方的所有内容。

我的代码目前如下:它目前在底部放置按钮,红色框中的文本放在每个屏幕上。我需要做的是将个人布局扩展到两者之间的空间。     的setContentView(R.layout.people1);

if (v.getId() == R.id.service_user_button)
{
    Spinner spinner = (Spinner) findViewById(R.id.people_spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                getBaseContext(), R.array.service_user_array, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);


}

3 个答案:

答案 0 :(得分:3)

您希望布局看起来像这样:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        >
        <LinearLayout
            android:id="@+id/theContent"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            />
    </ScrollView>

    <!-- Buttons go inside this -->        
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"

         />

</LinearLayout>

在运行时,您使用id“the Content”查找LinearLayout并将其子项分配给它。

答案 1 :(得分:0)

您还可以使用<include>标记。检查Romain Guy的this解释。

答案 2 :(得分:0)

还有一种额外的(不是替代!)可能性。整个活动屏幕始终插入FrameLayout。因此,您可以使用根布局合并而不是根布局。带按钮的布局将具有较大的上边距,因此它们将放置在底部。其他布局将位于顶部,因为它们是。该理论被描述为here

当然,常见的底部布局应该包含在内。