0

在我的应用程序中,我创建了一个包含 5 个按钮的相对布局,现在我想在其他布局中使用相同的布局作为背景。我正在尝试代码android:background+"@layout/dashboard",但 Eclipse 显示错误。我想将该布局显示为Parent Bottom以便我可以实现滚动视图并可以调用除仪表板之外的所有元素。请帮助我让我知道:

  1. 如何添加另一个布局作为背景
  2. 如何将该布局设置为 alignParentBottom
  3. 如何修改 scrollView 以使仪表板保持静态而其余元素可以滚动..

dashboard.xml 的代码

<?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="wrap_content" >

    <Button
        android:id="@+id/b1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:text="Home" />

    <Button
        android:id="@+id/b2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/b1"
        android:layout_alignParentBottom="true"
        android:text="Explore" />

    <Button
        android:id="@+id/b3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="MIC" />

    <Button
        android:id="@+id/b4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/b5"
        android:layout_alignParentBottom="true"
        android:text="Msngr" />

    <Button
        android:id="@+id/b5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:text="Profile" />

</RelativeLayout>

showdashboard.xml 的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@layout/dashboard" >

</LinearLayout>

我得到的错误是:

无法解析文件 C:\Users\%username%\Documents\eclipse\CustomList\res\layout\dashboard.xml 异常详细信息记录在 Window > Show View > Error Log

请帮忙..

4

2 回答 2

1

由于您希望页面底部有一个静态视图 pf 按钮,因此您可以将这些按钮包装在线性布局中,并将其余按钮放在滚动视图中。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1" >

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.7"
    android:id="@+id/s_view" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <!-- You can put your components here -->
    </LinearLayout>
</ScrollView>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.3"
    android:orientation="horizontal" >

    <!-- your 5 buttons here -->
    <Button
        android:layout_width="match_parent"
        android:layout_height="20dp" />
    <Button
        android:layout_width="match_parent"
        android:layout_height="20dp" />
    <Button
        android:layout_width="match_parent"
        android:layout_height="20dp" />
    <Button
        android:layout_width="match_parent"
        android:layout_height="20dp" />
    <Button
        android:layout_width="match_parent"
        android:layout_height="20dp" />
</LinearLayout>

您可以通过调整布局权重来更改底部布局/滚动视图的大小。

如果您想为多个活动使用相同的布局,则制作单独的线性布局(或其他,如果您愿意),然后您可以将它们添加到活动中的滚动视图。

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.new_layout);
    ScrollView sv = (ScrollView) findViewById(R.id.s_view);
    LayoutInflater lInflator = getLayoutInflater();
    sv.addView(lInflator.inflate(R.layout.view_component, null));

}

其中 s_view 是滚动视图的 id,组件视图是目标布局。

于 2012-09-18T08:50:01.710 回答
0

我通过你的写作得到了什么你想做的Static Buttons但其他布局应该有一个ScrollView

所以你可以通过这个布局做到这一点

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_weight="1.0" android:background="#ffffff" android:orientation="vertical">
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:layout_weight="1.0" android:background="#ffffff" android:orientation="vertical">
    <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ffffff"
    android:orientation="vertical" android:layout_weight="1.0">
        <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
            ---Your Scroll Vieww Layout hereee-------
        </ScrollView>
    </LinearLayout>
</LinearLayout>

<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:background="#F3F0EC" android:orientation="horizontal">

        ----your  5 Button Layout hereee-------
</LinearLayout>
</LinearLayout>
于 2012-09-18T07:18:26.513 回答