2013-12-18 3 views
0

У меня есть экран и множество элементов макета. Я хочу сделать весь экран под ScrollView, кроме кнопок нижнего колонтитула, чтобы на небольших экранах при уменьшении размера он прокручивался вниз. Но когда я добавляю ScrollView в качестве родительского макета ко всем, он либо сбрасывает, говоря: «Scroll View не может обрабатывать слишком много дочерних элементов», или это испортит макет. Любое решение. Ниже мой код и скриншот.Как добавить весь экран под просмотр прокрутки, кроме кнопок footbar

Обратите внимание, что в приведенном ниже коде я не помещаю все под ScrollView, но хочу, чтобы все было внутри ScrollView, кроме кнопок нижнего колонтитула.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#E7EBEE" 
    android:gravity="center" 
    android:orientation="vertical" > 

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

     <ImageView 
      android:id="@+id/windowtitle" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:background="#0a2436" 
      android:gravity="center_horizontal|center_vertical" 
      android:paddingBottom="10dip" 
      android:paddingTop="10dip" 
      android:src="@drawable/logo" > 
     </ImageView> 

     <ScrollView 
     android:id="@+id/formTab" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     > 

     <ListView 
      android:id="@+id/listview" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="#ffffff" 
      android:divider="@android:color/darker_gray" 
      android:dividerHeight="1dip" 
      android:drawSelectorOnTop="false" 
      android:focusable="false" 
      android:paddingTop="0dip" 
      android:scrollbars="none" /> 

     </ScrollView> 

     <!-- android:divider="@color/listDivider" --> 

     <LinearLayout 
      android:id="@+id/linearLayout1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="#e7ebee" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/list" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.5" 
       android:gravity="center_vertical" 
       android:paddingTop="10dip" 
       android:paddingBottom="7dip" 
       android:paddingLeft="10dip" 
       android:text="SNS Connection" 
       android:textAppearance="?android:attr/textAppearanceMedium" 
       android:textColor="#737577" 
       android:textSize="20sp" /> 
     </LinearLayout> 

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

      <LinearLayout 
       android:id="@+id/linearLayout1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="#ffffff" 
       android:paddingTop="5dip" 
       android:gravity="center_vertical" 
       android:orientation="horizontal" > 

       <ImageView 
        android:id="@+id/facebook" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:paddingLeft="10dip" 
        android:src="@drawable/facebook" /> 

       <TextView 
        android:id="@+id/list" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="0.5" 
        android:gravity="center_vertical" 

        android:paddingLeft="10dip" 
        android:text="Facebook" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#444444" 
        android:textSize="20sp" /> 

       <ImageView 
        android:id="@+id/facebook" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right|center_vertical" 
        android:paddingRight="15dip" 
        android:src="@drawable/ok" /> 
      </LinearLayout> 

      <TextView android:id="@+id/tokentextfacebook" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/facebook" 
        android:textSize="14sp" 
        android:paddingLeft="10dip" 
        android:paddingBottom="5dip" 
        android:background="#ffffff" 
        android:text="Your token is run out. Please reconnect" 
        android:textColor="#444444" 
        android:gravity="left" 
       /> 

      <View 
       android:layout_width="fill_parent" 
       android:layout_height="1dp" 
       android:background="@android:color/darker_gray"/> 

      <LinearLayout 
       android:id="@+id/linearLayout1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="#ffffff" 
       android:paddingTop="5dip" 
       android:gravity="center_vertical" 
       android:orientation="horizontal" > 

       <ImageView 
        android:id="@+id/twitter" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:paddingLeft="10dip" 
        android:src="@drawable/twitter" /> 

       <TextView 
        android:id="@+id/list" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="0.5" 
        android:gravity="center_vertical" 
        android:paddingLeft="10dip" 
        android:text="Twitter" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#4a82ae" 
        android:textSize="20sp" /> 

       <ImageView 
        android:id="@+id/twitter" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right|center_vertical" 
        android:paddingRight="15dip" 
        android:src="@drawable/ok" /> 
      </LinearLayout> 

      <TextView android:id="@+id/tokentexttwitter" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/facebook" 
        android:textSize="14sp" 
        android:paddingLeft="10dip" 
        android:paddingBottom="5dip" 
        android:background="#ffffff" 
        android:text="Your token is run out. Please reconnect" 
        android:textColor="#444444" 
        android:gravity="left" 
       /> 

     </LinearLayout> 
    </LinearLayout> 

    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_centerInParent="true" 
     android:gravity="bottom" 
     android:stretchColumns="*" > 

     <TableRow 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" > 

      <Button 
       android:id="@+id/btnManualLookup" 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:background="#092435" 
       android:gravity="center" 
       android:padding="15dip" 
       android:text="Activity" 
       android:textColor="#ffffff" /> 

      <Button 
       android:id="@+id/supportbutton" 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:background="#092435" 
       android:gravity="center" 
       android:padding="15dip" 
       android:text="Support" 
       android:textColor="#ffffff" /> 

      <Button 
       android:id="@+id/messagebutton" 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:background="#092435" 
       android:gravity="center" 
       android:padding="15dip" 
       android:text="Messages" 
       android:textColor="#ffffff" /> 
     </TableRow> 
    </TableLayout> 

</LinearLayout> 
+1

Список-просмотр имеет собственную функцию Scroller, поэтому почему вы должны добавить в ScrollView. –

+0

Нет необходимости использовать прокрутку в режиме просмотра списка. Удалите это и проверьте – AndroidHacker

+0

Причина в том, что когда я пытаюсь использовать тот же макет на меньших экранах, он уменьшается ниже, поэтому думал, что если мы сможем получить то же самое при просмотре прокрутки. Также listview является статическим, имеет только 4 элемента – user45678

ответ

0

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

Если вы хотите добавить scrollview для своего нижнего колонтитула, то тогда вы можете добавить нижний колонтитул в качестве своего вида в своем ListView, который обеспечит плавную прокрутку.

0

Вы можете сделать что-то вроде этого. Убедитесь, что просмотр прокрутки содержит только одного ребенка. Проверьте мой код и проанализируйте его. Надеюсь, это звучит хорошо.

<?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" > 


    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 

     > 

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

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

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="start" 
       android:src="@drawable/ic_launcher" 
       /> 

      <TextView 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="center text" 
       android:layout_gravity="center" 
       /> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="start" 
       android:src="@drawable/ic_launcher" 
       /> 

     </LinearLayout> 

     <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="2dp" 
     android:layout_marginBottom="2dp" 
     android:background="@color/black" > 
    </LinearLayout> 

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

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="start" 
       android:src="@drawable/ic_launcher" 
       /> 

      <TextView 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="center text" 
       android:layout_gravity="center" 
       /> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="start" 
       android:src="@drawable/ic_launcher" 
       /> 

     </LinearLayout> 

     <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="2dp" 
     android:layout_marginBottom="2dp" 
     android:background="@color/black" > 
    </LinearLayout> 

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

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="start" 
       android:src="@drawable/ic_launcher" 
       /> 

      <TextView 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="center text" 
       android:layout_gravity="center" 
       /> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="start" 
       android:src="@drawable/ic_launcher" 
       /> 

     </LinearLayout> 

     <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="2dp" 
     android:layout_marginBottom="2dp" 
     android:background="@color/black" > 
    </LinearLayout> 

     </LinearLayout> 

    </ScrollView> 


</LinearLayout> 
Смежные вопросы