2012-07-04 2 views
1

В моем андроид приложении мне нужен макет, как показано нижеAndroid Scrollview проблемы внутри относительного расположения

enter image description here

Относительное расположение используются в качестве исходного расположения внутри я использую 4 относительное расположение, чтобы организовать contents- заголовок Схема 1, расположение заголовка 2, расположение содержимого (objRLScrollView -scroll вид находится внутри этого макета) и макет нижнего колонтитула

Я использую следующий код для создания макета выше

public class Login1 extends Activity { 




    @Override 
     public void onCreate(Bundle savedInstanceState) { 

      super.onCreate(savedInstanceState); 

      this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
      this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

      RelativeLayout objRLBody=new RelativeLayout(this); 
      objRLBody.setId(1001); 
      RelativeLayout.LayoutParams objLLBodyParams=new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT); 
      objRLBody.setBackgroundColor(Color.parseColor("#d8e4f3")); 
      objRLBody.setLayoutParams(objLLBodyParams); 


      /* header portion starts here*/ 

      RelativeLayout objRLActionBar=new RelativeLayout(this); 
      objRLActionBar.setId(1002); 
      RelativeLayout.LayoutParams objRLActionBarParams=new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,50); 
      objRLActionBarParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); 
      objRLActionBar.setLayoutParams(objRLActionBarParams); 
      objRLActionBar.setBackgroundColor(Color.parseColor("#2e4862")); 



      objRLBody.addView(objRLActionBar); 


      RelativeLayout objRLSelectedActionBar=new RelativeLayout(this); 
      objRLSelectedActionBar.setId(1003); 
      RelativeLayout.LayoutParams objRLSelectedActionBarParams=new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT); 
      objRLSelectedActionBarParams.addRule(RelativeLayout.BELOW,objRLActionBar.getId()); 
      objRLSelectedActionBar.setLayoutParams(objRLSelectedActionBarParams); 
      objRLSelectedActionBar.setBackgroundColor(Color.WHITE); 
      objRLSelectedActionBar.setGravity(Gravity.CENTER|Gravity.LEFT); 


      TextView objTVSelectedAction = new TextView(this); 
      RelativeLayout.LayoutParams objTVSelectedActionParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
      objTVSelectedAction.setLayoutParams(objTVSelectedActionParams); 
      objTVSelectedAction.setGravity(Gravity.CENTER); 
      objTVSelectedAction.setTextColor(Color.BLACK); 
      objTVSelectedAction.setTextSize(TypedValue.COMPLEX_UNIT_DIP,18); 
      objTVSelectedAction.setText("Scroll Test"); 
      objTVSelectedAction.setTypeface(null, Typeface.BOLD); 
      objTVSelectedAction.setPadding(4, 0, 4, 0); 
      objTVSelectedAction.setId(1004); 
      objRLSelectedActionBar.addView(objTVSelectedAction); 


      objRLBody.addView(objRLSelectedActionBar); 

      /* header portion ends here*/ 



      /* Relative layout which hold scroll view*/ 
      RelativeLayout objRLScrollView = new RelativeLayout(this); 
      objRLScrollView.setId(1005); 
      objRLScrollView.setBackgroundColor(Color.parseColor("#d8e4f3")); 
      objRLScrollView.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL); 
      RelativeLayout.LayoutParams objRLScrollViewParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
      objRLScrollViewParams.addRule(RelativeLayout.BELOW ,objTVSelectedAction.getId()); 


      ScrollView objScrollView=new ScrollView(this); 
      objScrollView.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
      objScrollView.setFillViewport(true); 



      /* contents */ 

      RelativeLayout objRLContent = new RelativeLayout(this); 
      objRLContent.setId(1006); 
      objRLContent.setBackgroundColor(Color.parseColor("#d8e4f3")); 
      objRLContent.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL); 
      RelativeLayout.LayoutParams objRLContentParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
      // objRLContentParams.addRule(RelativeLayout.BELOW ,objTVSelectedAction.getId()); 
      objRLContent.setLayoutParams(objRLContentParams);     


        /* adding layouts containing Edittext (for testing scroll view) */ 

       RelativeLayout rl2= addEditText(objRLContent,null,1); 
       RelativeLayout rl3= addEditText(objRLContent,rl2,2); 
       RelativeLayout rl4= addEditText(objRLContent,rl3,3); 
       RelativeLayout rl5= addEditText(objRLContent,rl4,4); 
       RelativeLayout rl6= addEditText(objRLContent,rl5,5); 
       RelativeLayout rl7= addEditText(objRLContent,rl6,6); 
       RelativeLayout rl8= addEditText(objRLContent,rl7,7); 
       RelativeLayout rl9= addEditText(objRLContent,rl8,8); 
       RelativeLayout rl10= addEditText(objRLContent,rl9,9); 
       RelativeLayout rl11= addEditText(objRLContent,rl10,10); 
       RelativeLayout rl12= addEditText(objRLContent,rl11,11); 
       RelativeLayout rl13= addEditText(objRLContent,rl12,12); 






      objScrollView.addView(objRLContent); // adding contents to scroll view 


      objRLScrollView.addView(objScrollView); // Adding scroll view to a relative layout 


      objRLBody.addView(objRLScrollView); // adding relative layout to body layout 



      // adding footer to body 

       RelativeLayout objRLFooter=new RelativeLayout(this); 
       RelativeLayout.LayoutParams objRLFooterParams=new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,25); 
       objRLFooterParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,objRLBody.getId()); 
       objRLFooter.setLayoutParams(objRLFooterParams); 
       objRLFooter.setBackgroundColor(Color.parseColor("#2e4862")); 
       objRLFooter.setGravity(Gravity.CENTER); 
       objRLBody.addView(objRLFooter); 




       this.setContentView(objRLBody); 






     } 




    private RelativeLayout addEditText(RelativeLayout objRLContent,RelativeLayout layoutAbove,int i ) { 



      RelativeLayout objRLEditText = new RelativeLayout(this); 
      objRLEditText.setId(1100+i); 
      RelativeLayout.LayoutParams objRLEditTextParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
      if(layoutAbove!=null) 
      objRLEditTextParams.addRule(RelativeLayout.BELOW,layoutAbove.getId()); 
      objRLEditText.setLayoutParams(objRLEditTextParams); 
      objRLEditText.setPadding(8, 2, 8, 2); 

      EditText objETData = new EditText(this); 
      objETData.setId(1300+i); 
      RelativeLayout.LayoutParams objETDataParams=new RelativeLayout.LayoutParams(200,LayoutParams.WRAP_CONTENT); 
      objETData.setLayoutParams(objETDataParams); 
      objETData.setPadding(8, 0, 8, 0); 
      objETData.setTextSize(TypedValue.COMPLEX_UNIT_DIP,18); 
      objETData.setText(""+i); 
      objETData.setSingleLine(true); 
      objRLEditText.addView(objETData);   

      objRLContent.addView(objRLEditText); 

      return objRLEditText; 



    } 


} 

и приведенный выше код выдает поместить, как показано ниже

enter image description here

Макеты заголовка становится невидимым из-за присутствия Scrollview. Что не так с моим кодом? что я должен сделать, чтобы получить макет с прокручиваемым содержимым с фиксированным заголовком и нижним колонтитулом? PLZ помощь.

+0

разместим ваш XML здесь –

+0

Нет необходимости XML-файл я использую макет программно. Вышеприведенный код не содержит ссылки на файл xml –

+1

Зачем настраивать компоновку программно? Использование XML - это более простой способ. –

ответ

6

1- Установите высоту и ширину ScrollView в match_parent.

2- Настройте верхнюю и нижнюю прописные части Scrollview равными верхней и нижней высоте бара.

3 Установите выравнивание вашей верхней панели, чтобы alignparenttop

4 Установите выравнивание вашей нижней панели к alignparentbottom

Примечание: Если вы хотите получить хорошую библиотеку совместимости для баров действий рассмотреть возможность использования ActionBarSherlock.

+0

мог бы сделать ответ немного более подробным. это одна из тех 30-секундных должностей. – Mobigital

+0

@Mobigital Возможно, этот сайт запутался с [writers.stackexchange.com] (http://writers.stackexchange.com/) –

3

Используйте LinearLayout вместо RelativeLayout для вашего родительского контейнера. Установите ориентацию LinearLayout на вертикальную и установите LayoutWeight в 1 для ScrollView.

1

раз попробовать это один

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // setContentView(new BallBounce(this));   

     this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    // this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

     RelativeLayout objRLBody=new RelativeLayout(this); 
     objRLBody.setId(1001); 
     RelativeLayout.LayoutParams objLLBodyParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
     objRLBody.setBackgroundColor(Color.parseColor("#d8e4f3")); 
     objRLBody.setLayoutParams(objLLBodyParams); 

     /* header portion starts here*/ 

     RelativeLayout objRLActionBar=new RelativeLayout(this); 
     objRLActionBar.setId(1002); 
     RelativeLayout.LayoutParams objRLActionBarParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,50); 
     objRLActionBarParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); 
     objRLActionBar.setLayoutParams(objRLActionBarParams); 
     objRLActionBar.setBackgroundColor(Color.parseColor("#2e4862")); 

     objRLBody.addView(objRLActionBar); 

     RelativeLayout objRLSelectedActionBar=new RelativeLayout(this); 
     objRLSelectedActionBar.setId(1003); 
     RelativeLayout.LayoutParams objRLSelectedActionBarParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
     objRLSelectedActionBarParams.addRule(RelativeLayout.BELOW,objRLActionBar.getId()); 
     objRLSelectedActionBar.setLayoutParams(objRLSelectedActionBarParams); 
     objRLSelectedActionBar.setBackgroundColor(Color.WHITE); 
     objRLSelectedActionBar.setGravity(Gravity.CENTER|Gravity.LEFT); 


     TextView objTVSelectedAction = new TextView(this); 
     RelativeLayout.LayoutParams objTVSelectedActionParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
     objTVSelectedAction.setLayoutParams(objTVSelectedActionParams); 
     objTVSelectedAction.setGravity(Gravity.CENTER); 
     objTVSelectedAction.setTextColor(Color.BLACK); 
     objTVSelectedAction.setTextSize(TypedValue.COMPLEX_UNIT_DIP,18); 
     objTVSelectedAction.setText("Scroll Test"); 
     objTVSelectedAction.setTypeface(null, Typeface.BOLD); 
     objTVSelectedAction.setPadding(4, 0, 4, 0); 
     objTVSelectedAction.setId(1004); 
     objRLSelectedActionBar.addView(objTVSelectedAction); 

     objRLBody.addView(objRLSelectedActionBar); 

     /* header portion ends here*/ 

     /* Relative layout which hold scroll view*/ 
     RelativeLayout objRLScrollView = new RelativeLayout(this); 
     objRLScrollView.setId(1005); 
     objRLScrollView.setBackgroundColor(Color.parseColor("#d8e4f3")); 
     objRLScrollView.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL); 
     RelativeLayout.LayoutParams objRLScrollViewParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
     objRLScrollViewParams.addRule(RelativeLayout.BELOW ,objTVSelectedAction.getId()); 


     ScrollView objScrollView=new ScrollView(this); 
     objScrollView.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
     objScrollView.setFillViewport(true); 

     /* contents */ 

     RelativeLayout objRLContent = new RelativeLayout(this); 
     objRLContent.setId(1006); 
     objRLContent.setBackgroundColor(Color.parseColor("#d8e4f3")); 
     objRLContent.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL); 
     RelativeLayout.LayoutParams objRLContentParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
     // objRLContentParams.addRule(RelativeLayout.BELOW ,objTVSelectedAction.getId()); 
     objRLContent.setLayoutParams(objRLContentParams);     


       /* adding layouts containing Edittext (for testing scroll view) */ 

      RelativeLayout rl2= addEditText(objRLContent,null,1); 
      RelativeLayout rl3= addEditText(objRLContent,rl2,2); 
      RelativeLayout rl4= addEditText(objRLContent,rl3,3); 
      RelativeLayout rl5= addEditText(objRLContent,rl4,4); 
      RelativeLayout rl6= addEditText(objRLContent,rl5,5); 
      RelativeLayout rl7= addEditText(objRLContent,rl6,6); 
      RelativeLayout rl8= addEditText(objRLContent,rl7,7); 
      RelativeLayout rl9= addEditText(objRLContent,rl8,8); 
      RelativeLayout rl10= addEditText(objRLContent,rl9,9); 
      RelativeLayout rl11= addEditText(objRLContent,rl10,10); 
      RelativeLayout rl12= addEditText(objRLContent,rl11,11); 
      RelativeLayout rl13= addEditText(objRLContent,rl12,12); 

     objScrollView.addView(objRLContent); // adding contents to scroll view 


     objRLScrollView.addView(objScrollView); // Adding scroll view to a relative layout 

     objRLBody.addView(objRLScrollView); // adding relative layout to body layout 


     // adding footer to body 

      RelativeLayout objRLFooter=new RelativeLayout(this); 
      RelativeLayout.LayoutParams objRLFooterParams=new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,25); 
      objRLFooterParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,objRLBody.getId()); 
      objRLFooter.setLayoutParams(objRLFooterParams); 
      objRLFooter.setBackgroundColor(Color.parseColor("#2e4862")); 
      objRLFooter.setGravity(Gravity.CENTER); 
      objRLBody.addView(objRLFooter); 

      this.setContentView(objRLBody); 
    } 

private RelativeLayout addEditText(RelativeLayout objRLContent,RelativeLayout layoutAbove,int i ) { 

     RelativeLayout objRLEditText = new RelativeLayout(this); 
     objRLEditText.setId(1100+i); 
     RelativeLayout.LayoutParams objRLEditTextParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     if(layoutAbove!=null) 
     objRLEditTextParams.addRule(RelativeLayout.BELOW,layoutAbove.getId()); 
     objRLEditText.setLayoutParams(objRLEditTextParams); 
     objRLEditText.setPadding(8, 2, 8, 2); 

     EditText objETData = new EditText(this); 
     objETData.setId(1300+i); 
     RelativeLayout.LayoutParams objETDataParams=new RelativeLayout.LayoutParams(200,LayoutParams.WRAP_CONTENT); 
     objETData.setLayoutParams(objETDataParams); 
     objETData.setPadding(8, 0, 8, 0); 
     objETData.setTextSize(TypedValue.COMPLEX_UNIT_DIP,18); 
     objETData.setText(""+i); 
     objETData.setSingleLine(true); 
     objRLEditText.addView(objETData);   

     objRLContent.addView(objRLEditText); 

     return objRLEditText; 
} 
} 
+0

Нет, Нагарджуна. Это не работает.! –

2

Try followin Я редактировал свой код, который работает нормально.

public class Scrolling2Activity extends Activity { 
    int myid = 1000, pos=-1, etpos=-1; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     RelativeLayout rlBody = new RelativeLayout(this); 
     rlBody.setId(++myid); 
     RelativeLayout.LayoutParams bodyParams = new RelativeLayout.LayoutParams(
       LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
     rlBody.setLayoutParams(bodyParams); 
     rlBody.setBackgroundColor(Color.BLACK); 

     //  Header-1 
     RelativeLayout head1 = new RelativeLayout(this); 
     head1.setId(++myid); 
     RelativeLayout.LayoutParams head1Params = new RelativeLayout.LayoutParams(
       LayoutParams.FILL_PARENT, 25); 
     head1Params.addRule(RelativeLayout.ALIGN_PARENT_TOP); 
     head1.setLayoutParams(head1Params); 
     head1.setBackgroundColor(Color.BLUE); 
     rlBody.addView(head1, ++pos); 

     //  Header-2 
     RelativeLayout head2 = new RelativeLayout(this); 
     head2.setId(++myid); 
     RelativeLayout.LayoutParams head2Params = new RelativeLayout.LayoutParams(
       LayoutParams.FILL_PARENT, 25); 
     head2Params.addRule(RelativeLayout.BELOW, head1.getId()); 
     head2.setLayoutParams(head2Params); 
     head2.setBackgroundColor(Color.CYAN); 
       //  TextView in Header-2 
     TextView tv1 = new TextView(this); 
     tv1.setId(++myid); 
     RelativeLayout.LayoutParams tv1Params = new RelativeLayout.LayoutParams(
       LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     tv1.setLayoutParams(tv1Params); 
     tv1.setGravity(Gravity.CENTER); 
     tv1.setTextColor(Color.BLACK); 
     tv1.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18); 
     tv1.setText("Scroll Test"); 
     tv1.setTypeface(null, Typeface.BOLD); 
     tv1.setPadding(4, 0, 4, 0); 
     //tv1.setBackgroundColor(Color.DKGRAY); 
     head2.addView(tv1); 
     rlBody.addView(head2, ++pos); 

     //  RelativeLayout For ScrollView 
     RelativeLayout scrollHolder = new RelativeLayout(this); 
     scrollHolder.setId(++myid); 
     RelativeLayout.LayoutParams scrollHolderParams = new RelativeLayout.LayoutParams(
       LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 
     scrollHolderParams.addRule(RelativeLayout.BELOW, head2.getId()); 
     scrollHolder.setLayoutParams(scrollHolderParams); 
     scrollHolder.setBackgroundColor(Color.DKGRAY); 
     scrollHolder.setGravity(Gravity.CENTER_VERTICAL); 
      //  ScrollView 
     ScrollView scroll = new ScrollView(this); 
     scroll.setId(++myid); 
     scroll.setLayoutParams(new LayoutParams(
       LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 
     scroll.setBackgroundColor(Color.GREEN); 
      //  RelativeLayout 
     RelativeLayout etHolder = new RelativeLayout(this); 
     etHolder.setId(++myid); 
     RelativeLayout.LayoutParams etHolderParams = new RelativeLayout.LayoutParams(
       LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     etHolder.setLayoutParams(etHolderParams); 
     etHolder.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); 
     etHolder.setPadding(0, 0, 0, 25); 
      //  Creating EditTextes and Adding to etHolder AS you have done 
     RelativeLayout rl2 = addEditText(etHolder, null, 1); 
     RelativeLayout rl3 = addEditText(etHolder, rl2, 2); 
     RelativeLayout rl4 = addEditText(etHolder, rl3, 3); 
     RelativeLayout rl5 = addEditText(etHolder, rl4, 4); 
     RelativeLayout rl6 = addEditText(etHolder, rl5, 5); 
     RelativeLayout rl7 = addEditText(etHolder, rl6, 6); 
     RelativeLayout rl8 = addEditText(etHolder, rl7, 7); 
     RelativeLayout rl9 = addEditText(etHolder, rl8, 8); 
     RelativeLayout rl10 = addEditText(etHolder, rl9, 9); 
     RelativeLayout rl11 = addEditText(etHolder, rl10, 10); 
     RelativeLayout rl12 = addEditText(etHolder, rl11, 11); 
     RelativeLayout rl13 = addEditText(etHolder, rl12, 12); 
     scroll.addView(etHolder); // adding RelativeLayout = etHolder to ScrollView = scroll 
     scrollHolder.addView(scroll); // adding ScrollView = scroll to RelativeLayout = scrollHolder 
     rlBody.addView(scrollHolder, ++pos); 

     //  RelativeLayout for Footer 
     RelativeLayout footer = new RelativeLayout(this); 
     footer.setId(++myid); 
     RelativeLayout.LayoutParams footerParams = new RelativeLayout.LayoutParams(
       LayoutParams.FILL_PARENT, 25); 
     footerParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
     footer.setLayoutParams(footerParams); 
     footer.setBackgroundColor(Color.MAGENTA); 
     rlBody.addView(footer, ++pos); 

     setContentView(rlBody); 
    } 

     //  Method as you have done 
    private RelativeLayout addEditText(RelativeLayout objRLContent, 
      RelativeLayout layoutAbove, int i) { 

     RelativeLayout objRLEditText = new RelativeLayout(this); 
     objRLEditText.setId(1100 + i); 
     RelativeLayout.LayoutParams objRLEditTextParams = new RelativeLayout.LayoutParams(
       LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     if (layoutAbove != null) 
      objRLEditTextParams.addRule(RelativeLayout.BELOW, 
        layoutAbove.getId()); 
     objRLEditText.setLayoutParams(objRLEditTextParams); 
     objRLEditText.setPadding(8, 2, 8, 2); 

     EditText objETData = new EditText(this); 
     objETData.setId(1300 + i); 
     RelativeLayout.LayoutParams objETDataParams = new RelativeLayout.LayoutParams(
       200, LayoutParams.WRAP_CONTENT); 
     objETData.setLayoutParams(objETDataParams); 
     objETData.setPadding(8, 0, 8, 0); 
     objETData.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18); 
     objETData.setText("" + i); 
     objETData.setSingleLine(true); 
     objRLEditText.addView(objETData); 

     objRLContent.addView(objRLEditText); 

     return objRLEditText; 

    } 
} 
1

, наконец, я получил желаемый макет просто изменить порядок добавления внутреннюю компоновку в макет тела в приведенном выше коде, и порядок выглядит следующим образом

objRLBody.addView(objRLScrollView); 
objRLBody.addView(objRLActionBar); 
objRLBody.addView(objRLSelectedActionBar); 
objRLBody.addView(objRLFooter); 

также необходимо установить Scrollview обивка , если мы не устанавливаем прописку в scrollview (ширина макета заголовка как верхнее заполнение и нижний колонтитул как внизу), представление компонентов может блокироваться компоновкой верхнего или нижнего колонтитула.

1

Это работает для меня хорошо ....

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/scrollView1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/light_gradient"> 

    <RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

//put your UI here 


    </RelativeLayout> 

</ScrollView> 
+1

ScrollView внутри RelativeLayout, а не наоборот –

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