在布局结束时在android中设置页脚

时间:2012-05-25 13:47:40

标签: android android-layout

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

link for the layout

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

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

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

这适用于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>

这是针对标题(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>

我们可以清楚地看到页脚在附加图像中如何进入屏幕中间。footer rendering in between the layout

尝试使用RelativeLayout进行设置,但渲染问题相同

使用设置为LinearLayout尝试                 android:layout_alignParentBottom="true"并将页脚<include layout="@layout/footer_layout">的包含放在线性布局中,但渲染问题相同。

期待您的回复。 感谢。

1 个答案:

答案 0 :(得分:2)

尝试使用RelativeLayout并将其android:layout_belowandroid: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>