2

В настоящее время я работаю над мобильным приложением, и у меня есть проблема, когда я пытаюсь поместить нижний колонтитул под прокруткой.Невозможно добавить нижний колонтитул в ScrollView - android

Вот мой код:

<RelativeLayout 
    android:id="@+id/RelativeLayout01" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 



    <RelativeLayout 

     android:layout_alignParentBottom="true" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/bottomcontent" 
     android:orientation="vertical" 
     android:background="@drawable/border"> 
      //the footer is added dynamically 
    </RelativeLayout> 

<ScrollView 
    android:layout_weight="1" 
    android:id="@+id/scroller" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:fillViewport="true" > 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:id="@+id/contentcontainer"> 
     <LinearLayout 
      android:id="@+id/scrollcontentcontainer" 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"> 
      //the content is added dynamically from a layout template 
     </LinearLayout> 
    </LinearLayout> 
</ScrollView> 
</RelativeLayout> 

Содержание Scrollview представляет собой набор относительного расположения с некоторыми кнопками и TextViews внутри. Это основано на макете, которую я раздуваю несколько раз.

Нижний колонтитул - это просто линейная линия с некоторыми кнопками в ней.

Дело в том, что я пробовал все различные решения, которые я нашел в Интернете, и никто из них не работал. В моем случае нижний колонтитул застрял под содержимым scrollView, а не под самим scrollview, поэтому мне нужно прокрутить страницу вниз до тех пор, пока контент не будет достигнут моего нижнего колонтитула. Но сноска должна оставаться на нижней части экрана ...

Я попробовал эти решения, а также, ничего не работает: - http://www.javacodegeeks.com/2013/10/android-fixed-header-and-footer-with-scrollable-content-layout-example.html (когда я пытаюсь это у меня есть подвал на верхней части экрана и больше ничего ...) - http://www.byteslounge.com/tutorials/android-fixed-header-and-footer-with-scrollable-content-layout-example и некоторые другие (не работает, а)

Я также попробовал все возможные вещи, как с помощью силы тяжести, вес, fillViewPort, выровнять на дно ... Но невозможно! имеют ожидаемый результат. Минимальный API установлен на 14, я использую андроид-студию.

Спасибо за помощь, ребята!

edit1: граница вытяжке `введите код здесь

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
     android:bottom="-2dp" 
     android:left="-2dp" 
     android:right="-2dp" 
     android:top="2dp"> 
     <shape android:shape="rectangle" > 
      <stroke 
       android:width="1dp" 
       android:color="#000000" /> 

      <solid android:color="#3b010101" /> 

      <padding android:left="10dp" 
       android:right="10dp" 
       android:top="10dp" 
       android:bottom="10dp" /> 
     </shape> 
    </item> 

</layer-list> 
+0

Пожалуйста, проверьте мой ответ и дайте мне знать, если это решает проблему? –

+0

добавить 'android: layout_above =" @ id/bottomcontent "' в ваш 'ScrollView' –

+0

@JaredRummler Выполнено, все еще не работает (нижний колонтитул застрял сверху) ... – Virthuss

ответ

1

Вы можете попробовать следующее, у меня тоже были проблемы с добавлением ScrollView внутри RelaveLayout.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/RelativeLayout01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <RelativeLayout 
     android:id="@+id/bottomcontent" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:background="@drawable/border"> 
     <!---add something there eg:--> 

     <Button 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Test"/> 

    </RelativeLayout> 


    <ScrollView 
     android:id="@+id/scroller" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@id/bottomcontent" 
     android:layout_alignParentTop="true"> 

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

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

      </LinearLayout> 
     </LinearLayout> 
    </ScrollView> 
</RelativeLayout> 

enter image description here.

Я нашел следующее в this documentation. Это вызывает проблемы наверняка

Примечания: В версии платформы 17 и ниже, RelativeLayout была затронута ошибка измерения, которая может привести взгляды ребенка измеряемый с неправильными MeasureSpec значений. (Подробнее см. MeasureSpec.makeMeasureSpec для .) Это было вызвано, когда контейнер RelativeLayout был , помещенный в контейнер прокрутки, такой как ScrollView или HorizontalScrollView. Если пользовательский вид, не оборудованный должным образом , мера с режимом MeasureSpec UNSPECIFIED был помещен в RelativeLayout, это молчаливо работает в любом случае, поскольку RelativeLayout будет передавать очень большой AT_MOST MeasureSpec.

Это поведение сохранено для приложений, которые устанавливают android: targetSdkVersion = "17" или более старых в использовании своего манифеста -sdk тег для совместимости.Приложения, ориентированные на SDK версии 18 или новее, получат правильное поведение

+0

К сожалению, у меня все еще есть нижний колонтитул в верхней части экрана без любой другой контент ... – Virthuss

+0

@ Virthuss Это работает на моем IDE, вы получаете какие-либо ошибки ?. Можете ли вы добавить грань? –

+0

Никакой ошибки вообще ... Простите мой бедный английский, но что вы подразумеваете под границей? – Virthuss

Смежные вопросы