• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps Mutliple views in a single layout

ondrovic

Newbie
I am having an issue trying to setup a scrollview with a relative layout.
Here is my layout file
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
 
  <!-- Screen Design for ATT -->
  <TextView android:text="@string/family_title"
              android:padding="15dip"
              android:textSize="18dip"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"/>
  <ScrollView
      android:id="@+id/scroller"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" >
      
      <LinearLayout
          android:id="@+id/container"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content" >
          
          <TextView
              android:id="@+id/att_fam_talk_title"
              style="@style/Text"
              android:text="@string/att_talk_title"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_talk_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_text_title"
              style="@style/Text"
              android:text="@string/att_talk_title"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_text_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_1_title"
              style="@style/Text"
              android:text="Select Data for line 1"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_1_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_2_title"
              style="@style/Text"
              android:text="Select Data for line 2"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_2_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_extra_lines_title"
              style="@style/Text"
              android:text="Select Addition Lines"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_extra_lines_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_3_title"
              style="@style/Text"
              android:text="Select Data for line 3"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_3_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_4_title"
              style="@style/Text"
              android:text="Select Data for line 4"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_4_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_5_title"
              style="@style/Text"
              android:text="Select Data for line 5"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_5_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
      </LinearLayout>
      
  </ScrollView>
  
  <RelativeLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent" android:visibility="visible">
      
  <TextView
      android:id="@+id/att_fam_price"
      style="@style/Price"
      android:text="@string/price"
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:textAppearance="?android:attr/textAppearanceLarge" />
  
  </RelativeLayout>
  
</LinearLayout>
The scrollview is working correctly but the relativelayout is showing up correctly in my graphical layout view but I can't seem to see it on my phone or emulator. I want it to be displayed all the time and not a part of the scrollview. I just don't know how to fix it. Thanks for all the help again

Here is how I would like it to work
example.png
 
Never mind I got it worked out :-)
Had to remove the following from ScrollView
Code:
android:layout_height="wrap_content"
and change it to this
Code:
android:layout_height="500px"

EDIT
actually the correct code to not get any warnings was the following:
Code:
android:layout_height="333dp"
 
First of all, to hardcode heights is not recommended. If you want to have the scrollview take up 3/4 of the screen, and the relativelayout the rest of 1/4, you should use android:layout_weight="1" for the 3/4 view and android:layout_weight="0" for the 1/4 view. Then it will be much more flexible for several screen sizes.
 
First of all, to hardcode heights is not recommended. If you want to have the scrollview take up 3/4 of the screen, and the relativelayout the rest of 1/4, you should use android:layout_weight="1" for the 3/4 view and android:layout_weight="0" for the 1/4 view. Then it will be much more flexible for several screen sizes.

I have tried and cant seem to get it to work with what you suggested.
Here is my layout
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
 
  <!-- Screen Design for ATT -->
  <TextView android:text="@string/family_title"
              android:padding="15dip"
              android:textSize="18dip"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"/>
  
  <ScrollView
      android:id="@+id/scroller"
      android:layout_width="fill_parent"
      android:layout_height="333dp" >
      
      <LinearLayout
          android:id="@+id/container"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content" >
          
          <TextView
              android:id="@+id/att_fam_talk_title"
              style="@style/Text"
              android:text="@string/att_talk_title"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_talk_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_text_title"
              style="@style/Text"
              android:text="@string/att_text_title"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_text_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_1_title"
              style="@style/Text"
              android:text="@string/dataL1"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_1_spinner"
              
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_2_title"
              style="@style/Text"
              android:text="@string/dataL2"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_2_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_extra_lines_title"
              style="@style/Text"
              android:text="@string/xtraLines"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_extra_lines_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_3_title"
              style="@style/Text"
              android:text="@string/dataL3"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_3_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_4_title"
              style="@style/Text"
              android:text="@string/dataL4"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_4_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
          <TextView
              android:id="@+id/att_fam_data_line_5_title"
              style="@style/Text"
              android:text="@string/dataL5"
              android:textAppearance="?android:attr/textAppearanceLarge" />
          
          <Spinner
              android:id="@+id/att_fam_data_line_5_spinner"
              android:layout_width="match_parent"
              android:layout_height="wrap_content" />
          
      </LinearLayout>
      
  </ScrollView>
  
  <RelativeLayout
      android:layout_width="match_parent"
      android:layout_height="fill_parent">
      
  <TextView
      android:id="@+id/att_fam_price"
      style="@style/Price"
      android:text="@string/price"
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true"
      android:textAppearance="?android:attr/textAppearanceLarge" />
  
  </RelativeLayout>
  
</LinearLayout>
And here is how it looks would love to keep it this way but defined the correct way to support multiple screens. Any ideas how to get it correct?

SQLNN.png
 
I believe I have it now had to add the following code to my layout but it seems to be working correctly now
Code:
android:weightSum="100"           // Under first LinearLayout
android:layout_weight="25"        // Under ScrollView
android:layout_weight="75"        // Under RelativeLayout
 
Back
Top Bottom