2017-09-21 5 views
-1

私はヘッダー、メニュー、およびフッターでアクティビティを持っています。画面の垂直方向では、フッターはScrollViewの下部にありますが、画面の下部に固定する必要があります。 ScrollViewとフッターの間には垂直方向の空きスペースが必要です。フッターを画面の下端に垂直に固定する方法は?

フッターを画面の下端に垂直に固定する方法を教えてください。

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="com.test.test.MainMenuActivity"> 

<LinearLayout 
    android:background="@color/colorMainWhite" 
    style="@style/root_layout"> 

    <!--- Header--> 
    <include layout="@layout/content_header"/> 
    <include layout="@layout/content_subheader"/> 


    <!--- Menu with scroll--> 
    <ScrollView 
     android:id="@+id/myview" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="vertical" > 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:orientation="vertical"> 
      <LinearLayout 
       android:id="@+id/merchantInfoLayout" 
       android:paddingTop="@dimen/size_15px" 
       android:orientation="vertical" 
       style="@style/los_lo_merchant_info_item"> 
       <TextView 
        android:id="@+id/tvNL1" 
        tools:text="test" 
        style="@style/tvs_lo_text_32_bold_ellipsized"/> 
       <TextView 
        android:id="@+id/tvNL2" 
        tools:text="test" 
        style="@style/tvs_lo_text_26_ellipsized"/> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:orientation="vertical"> 
       <LinearLayout 
        android:id="@+id/button1" 
        style="@style/los_lo_mainmenu_item"> 
        <ImageView 
         style="@style/icon_default_size_center" 
         android:src="@drawable/icon_1"/> 
        <TextView 
         style="@style/tvs_lo_text_mainmenu_button" 
         android:text="@string/title_item_1"/> 
       </LinearLayout> 
       <LinearLayout 
        android:id="@+id/button2" 
        style="@style/los_lo_mainmenu_item"> 
        <ImageView 
         style="@style/icon_default_size_center" 
         android:src="@drawable/icon_2"/> 
        <TextView 
         style="@style/tvs_lo_text_mainmenu_button" 
         android:text="@string/title_item_2"/> 
       </LinearLayout> 
       <LinearLayout 
        android:id="@+id/button3" 
        style="@style/los_lo_mainmenu_item"> 
        <ImageView 
         style="@style/icon_default_size_center" 
         android:src="@drawable/icon_3"/> 
        <TextView 
         style="@style/tvs_lo_text_mainmenu_button" 
         android:text="@string/title_item_3"/> 
       </LinearLayout> 
       <LinearLayout 
        android:id="@+id/button4" 
        style="@style/los_lo_mainmenu_item"> 
        <ImageView 
         style="@style/icon_default_size_center" 
         android:src="@drawable/icon_4"/> 
        <TextView 
         style="@style/tvs_lo_text_mainmenu_button" 
         android:text="@string/title_item_4"/> 
       </LinearLayout> 
       <LinearLayout 
        android:id="@+id/button5" 
        style="@style/los_lo_mainmenu_item"> 
        <ImageView 
         style="@style/icon_default_size_center" 
         android:src="@drawable/icon_5"/> 
        <TextView 
         style="@style/tvs_lo_text_mainmenu_button" 
         android:text="@string/title_item_5"/> 
       </LinearLayout> 
       <LinearLayout 
        android:id="@+id/button6" 
        style="@style/los_lo_mainmenu_item"> 
        <ImageView 
         style="@style/icon_default_size_center" 
         android:src="@drawable/icon_6"/> 
        <TextView 
         style="@style/tvs_lo_text_mainmenu_button" 
         android:text="@string/title_item_6"/> 
       </LinearLayout> 
      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 

    <!--- Footer--> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="horizontal" 
     android:gravity="bottom"> 
     <LinearLayout 
      android:paddingTop="@dimen/size_20px" 
      android:paddingBottom="@dimen/size_20px" 
      android:background="@color/colorBgLightGrey" 
      android:layout_width="match_parent" 
      android:gravity="center_horizontal" 
      android:layout_height="wrap_content"> 
      <ImageView 
       android:src="@drawable/icon_logos_ips" 
       style="@style/ips_icons_style"/> 
     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 
</android.support.design.widget.CoordinatorLayout> 
+0

試しセット:アンドロイド:彼は、ので、これは真の –

+0

@AndersKinkこの回答に基づいて –

+0

を動作しません 'RelativeLayout'をでした使用していないlayout_alignParentBottom = "true" を –

答えて

1

あなたはそれにandroid:layout_weight="1"を設定することにより、残りのスペースを埋めるためにあなたのアッパービューのいずれかを展開する必要があります。これは、最後のビューを下に押し下げます。以下this link

チェックはあなたのレイアウトです:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

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

     <!--- Header--> 
     <!--<include layout="@layout/header_layout" />--> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/cardview_dark_background" 
      android:orientation="vertical"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 
     </LinearLayout> 

     <!--- Menu with scroll--> 
     <ScrollView 
      android:id="@+id/myview" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:orientation="vertical"> 

       <LinearLayout 
        android:id="@+id/merchantInfoLayout" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical" 
        android:paddingTop="5dp"> 

        <TextView 
         android:id="@+id/tvNL1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         tools:text="test" /> 

        <TextView 
         android:id="@+id/tvNL2" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         tools:text="test" /> 
       </LinearLayout> 

       <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:orientation="vertical"> 

        <LinearLayout 
         android:id="@+id/button1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"> 

         <ImageView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="title_item_1" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/button2" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"> 

         <ImageView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="title_item_2" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/button3" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"> 

         <ImageView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="title_item_3" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/button4" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"> 

         <ImageView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="title_item_4" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/button5" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"> 

         <ImageView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="title_item_5" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/button6" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"> 

         <ImageView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="title_item_6" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/button7" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"> 

         <ImageView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="title_item_6" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/button8" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"> 

         <ImageView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="title_item_6" /> 
        </LinearLayout> 
       </LinearLayout> 
      </LinearLayout> 
     </ScrollView> 

     <!--- Footer--> 
     <!--<include layout="@layout/footer_layout" />--> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@color/colorAccent" 
       android:gravity="center_horizontal" 
       android:paddingBottom="20px" 
       android:paddingTop="20px"> 

       <ImageView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 
      </LinearLayout> 
     </LinearLayout> 

    </LinearLayout> 
</android.support.design.widget.CoordinatorLayout> 
+0

メニューの上の画像のレイアウトは? –

+0

私はレイアウトを含んでいませんが、そのコードを追加しました。あなたは変更することができますが、高さと幅を同じに保ちます。 –

+0

@AndrewEfremovそれは私の側でうまくいきます。どんな問題に直面していますか –

1
I have made some edits to your original layout. The footer will appear at 

今ないscrollviewのコンテンツと重なるボトム。 It will appear like this:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 

    <!--- Header--> 
    <!--<include layout="@layout/header_layout" />--> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/cardview_dark_background" 
     android:orientation="vertical" 
     android:id="@+id/ll_top"> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"     
     android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 
    </LinearLayout> 

    <!--- Menu with scroll--> 
    <ScrollView 
     android:id="@+id/myview" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_below="@+id/ll_top" 
     android:layout_above="@+id/footer" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:id="@+id/merchantInfoLayout" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:paddingTop="5dp"> 

       <TextView 
        android:id="@+id/tvNL1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        tools:text="test" /> 

       <TextView 
        android:id="@+id/tvNL2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        tools:text="test" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:orientation="vertical"> 

       <LinearLayout 
        android:id="@+id/button1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="title_item_1" /> 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/button2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="title_item_2" /> 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/button3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="title_item_3" /> 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/button4" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="title_item_4" /> 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/button5" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="title_item_5" /> 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/button6" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="title_item_6" /> 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/button7" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="title_item_6" /> 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/button8" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <ImageView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="title_item_6" /> 
       </LinearLayout> 
      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 

    <!--- Footer--> 
    <!--<include layout="@layout/footer_layout" />--> 

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

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/colorAccent" 
      android:gravity="center_horizontal" 
      android:paddingBottom="20px" 
      android:paddingTop="20px"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@drawable/ic_action_hardware_keyboard_arrow_left" /> 
     </LinearLayout> 
    </LinearLayout> 

</RelativeLayout> 

+0

私はそうしました。今、スクロールが表示されるように画面の向きを水平に変更すると、フッターは最後のメニュー項目(button6)と重なります。 –

+0

android:id = "@ + id/footer"をフッターレイアウトのIDとして設定しましたか?スクロールビューではアンドロイド:layout_above = "@ + id/footer"を使用しているため、スクロールビュー内のすべてと重複しないはずです。 – wj07

+0

ありがとうございました。あなたのソリューションは機能していますが、私は@Amit Vaghelaのオプションを好んでいます。 –

関連する問題