【问题标题】:Eclipse Android XML Layout Header and FooterEclipse Android XML 布局页眉和页脚
【发布时间】:2012-01-19 15:40:18
【问题描述】:

嗨,我想在我的活动顶部获得一排按钮,在底部获得一排按钮,中间有一个 web 视图。顶行和底行将被锚定,webview 将根据其数据滚动。

我下面的代码不太好用。谁能帮我吗?。目前 webview 位于两个按钮栏下方,这是为什么呢?

<?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:orientation="vertical" >

    <LinearLayout
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <com.appname.app.SegmentedRadioGroup
            android:id="@+id/segment_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dip"
            android:layout_span="2"
            android:checkedButton="@+id/button_one"
            android:orientation="horizontal" >

            <RadioButton
                android:id="@id/button_one"
                android:button="@null"
                android:gravity="center"
                android:minHeight="33dip"
                android:minWidth="40dip"
                android:text=" Description "
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textColor="@color/radio_colors" />

            <RadioButton
                android:id="@+id/button_two"
                android:button="@null"
                android:gravity="center"
                android:minHeight="33dip"
                android:minWidth="40dip"
                android:text=" Images "
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textColor="@color/radio_colors" />

            <RadioButton
                android:id="@+id/button_three"
                android:button="@null"
                android:gravity="center"
                android:minHeight="33dip"
                android:minWidth="40dip"
                android:text=" Audio "
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textColor="@color/radio_colors" />

            <RadioButton
                android:id="@+id/button_four"
                android:button="@null"
                android:gravity="center"
                android:minHeight="33dip"
                android:minWidth="40dip"
                android:text=" Weblinks "
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textColor="@color/radio_colors" />
        </com.appname.app.SegmentedRadioGroup>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/footer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/main_menu_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Main Menu" />

        <Button
            android:id="@+id/scan_exhibit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Scan New Exhibit" />
    </LinearLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_below="@id/header"
        android:layout_above="@id/footer" >
        <WebView
            android:id="@+id/webview1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#000000" />
    </RelativeLayout>

</LinearLayout>

【问题讨论】:

    标签: android xml eclipse layout


    【解决方案1】:

    即使您的WebView 在RelativeLayout 中,您也不能在其上调用layout_above and layout_below,因为其他布局不在同一个RelativeLayout 中。这些选项仅适用于 RelativeLayout 中的对象,以您正在执行的方式。

    只需将您的 WebView 放在其他布局之间,您甚至不需要单独的布局。

    试试这个:

    重新编辑:我没有使用LinearLayout,而是将您的整个布局放在RelativeLayout 中。那么你的选择确实有效。试试这个,它似乎对我有用,但我错过了你的自定义类。

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <LinearLayout
            android:id="@+id/header"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >
    
            <com.appname.app.SegmentedRadioGroup
                android:id="@+id/segment_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:layout_span="2"
                android:checkedButton="@+id/button_one"
                android:orientation="horizontal" >
    
                <RadioButton
                    android:id="@id/button_one"
                    android:button="@null"
                    android:gravity="center"
                    android:minHeight="33dip"
                    android:minWidth="40dip"
                    android:text=" Description "
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/radio_colors" />
    
                <RadioButton
                    android:id="@+id/button_two"
                    android:button="@null"
                    android:gravity="center"
                    android:minHeight="33dip"
                    android:minWidth="40dip"
                    android:text=" Images "
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/radio_colors" />
    
                <RadioButton
                    android:id="@+id/button_three"
                    android:button="@null"
                    android:gravity="center"
                    android:minHeight="33dip"
                    android:minWidth="40dip"
                    android:text=" Audio "
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/radio_colors" />
    
                <RadioButton
                    android:id="@+id/button_four"
                    android:button="@null"
                    android:gravity="center"
                    android:minHeight="33dip"
                    android:minWidth="40dip"
                    android:text=" Weblinks "
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="@color/radio_colors" />
            </com.appname.app.SegmentedRadioGroup>
        </LinearLayout>
    
        <WebView
            android:id="@+id/webview1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_above="@+id/footer"
            android:layout_below="@+id/header"
            android:background="#000000" />
    
        <LinearLayout
            android:id="@+id/footer"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:orientation="horizontal" >
    
            <Button
                android:id="@+id/main_menu_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Main Menu" />
    
            <Button
                android:id="@+id/scan_exhibit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Scan New Exhibit" />
        </LinearLayout>
    
    </RelativeLayout>
    

    【讨论】:

      【解决方案2】:

      那是因为您的 LinearLayout 是垂直的,在 , 和 的另一个中有三个孩子。尝试将WebView 放在线性布局代码之间 .

      【讨论】:

      • 我不能这样做,因为 webview 被定义为具有以下 android:layout_below="@id/header" android:layout_above="@id/footer" > 所以这些(页眉和页脚)需要首先在我的线性布局部分中定义
      猜你喜欢
      • 2012-09-27
      • 1970-01-01
      • 2011-03-12
      • 2013-04-21
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多