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

中央のコンテンツにはandを使用し、下部にはforRelativeLayoutを使用してみてください。次のようにします。android:layout_belowandroid:layout_aboveandroid:layout_alignParentBottomView

<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 に答える