0

我正在查看以下网站的示例。

布局链接

有一个关于开发仪表板布局的精彩教程。

对于主屏幕页脚完全位于布局的末尾,但对于其他屏幕,当我尝试将页脚放置在布局的中间时。

我还附上了代码以便更好地理解。

这是为 style.xml

<resources>
<style name="ActionBarCompat">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">50dp</item>
    <item name="android:orientation">horizontal</item>
    <item name="android:background">@drawable/actionbar_background</item>
</style>

<style name="DashboardButton">
    <item name="android:layout_gravity">center_vertical</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:gravity">center_horizontal</item>
    <item name="android:drawablePadding">2dp</item>
    <item name="android:textSize">16dp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">#ff29549f</item>
    <item name="android:background">@null</item>
</style>    

 <style name="FooterBar">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">40dp</item>
    <item name="android:orientation">horizontal</item>
    <item name="android:background">#dedede</item>
</style>     
</resources>

这是针对 header(action_bar) actionbar_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
style="@style/ActionBarCompat" >

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:clickable="false"
    android:paddingLeft="15dip"
    android:scaleType="center"
    android:src="@drawable/facebook_logo" />

</LinearLayout>

下面是页脚栏footer_layout.xml

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   style="@style/FooterBar"
   android:id="@+id/footerMenuOptions" >
<TextView android:text="www.facebook.com"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="#606060"
        android:gravity="center"
        android:paddingTop="10dip"/>
  </LinearLayout>

以下是附加屏幕的布局

<?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:background="#f8f9fe">
<include layout="@layout/actionbar_layout"/>

<LinearLayout android:layout_width="fill_parent"
            android:layout_height="wrap_content">
        <TextView android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Events Screen"
                android:textSize="25dip"
                android:padding="15dip"
                android:textStyle="bold"
                android:textColor="#ff29549f"/> 

</LinearLayout>   
 <include layout="@layout/footer_layout"/>
</LinearLayout>

在附图中,我们可以清楚地看到页脚是如何进入屏幕中间的。布局之间的页脚渲染

尝试设置RelativeLayout但同样的渲染问题

尝试在线性布局中LinearLayout设置
android:layout_alignParentBottom="true"和放置页脚的包含,<include layout="@layout/footer_layout">但呈现相同的问题。

期待你的答复。谢谢。

4

1 回答 1

2

尝试RelativeLayout使用它的android:layout_belowandandroid:layout_above用于中心内容和android:layout_alignParentBottom用于View坚持底部这样做:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:orientation="vertical">
    <RelativeLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:id="@+id/top_control_bar">
        <include layout="@layout/actionbar_layout"/>
    </RelativeLayout>
    <LinearLayout android:id="@+id/bottom_control_bar"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">
         <include layout="@layout/footer_layout"/>
    </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/top_control_bar"
            android:layout_above="@id/bottom_control_bar">
            <TextView android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Events Screen"
                    android:textSize="25dip"
                    android:padding="15dip"
                    android:textStyle="bold"
                    android:textColor="#ff29549f"/> 

    </LinearLayout>   

</RelativeLayout>
于 2012-05-25T14:29:04.437 回答