title: Android ScrollView troubles inside relative layout
body: <p>In my android app I need a layout as shown below</p>
  
  <p><img src="https://i.stack.imgur.com/H5Zz4.png" alt="enter image description here"></p>
  
  <p>A relative layout is used as the parent layout inside  I use 4 relative layout to arrange the contents- header layout 1,header layout 2, content layout(objRLScrollView -scroll view is inside this layout) and a footer layout</p>
  
  <p>I use the below code to create the above layout</p>
  
  <pre><code>    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;
  
  
  
       }
  
  
  }
  </code></pre>
  
  <p>and the above code gives out put as shown below</p>
  
  <p><img src="https://i.stack.imgur.com/svmnm.png" alt="enter image description here"></p>
  
  <p>The header layouts becomes invisible due to the presence of scrollView. What is wrong with my code? what should i do to get a layout with scrollable contents with  fixed header and footer? plz help.</p>