8

The following code is from the layout I have been designing for my app. The problem is, Button is overlapping a PlainText box so I added padding in the button code as shown below but the preview is still showing Button to overlap the textbox. What is problem? Am I missing something?

<?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"
android:weightSum="100"
android:padding="25dp" >

<ScrollView 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="30"
>

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

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" >

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText5"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />

<TextView
    android:id="@+id/textView6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText6"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" />
</LinearLayout>
</ScrollView>

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:layout_weight="40">
<Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="20dp"
    android:text="Button" />
</LinearLayout>

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="30"
    android:orientation="vertical">
<AnalogClock
    android:id="@+id/analogClock1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
</LinearLayout>

Thanks for your help!

Alfred James
  • 1,029
  • 6
  • 17
  • 27

3 Answers3

9

It seems you want to separate two Views. You should use margin instead of padding in ur views.

android:layout_marginLeft="10dp"

You can give margin at left,right, top, bottom according to your need.

AAnkit
  • 27,299
  • 12
  • 60
  • 71
  • 1
    because Padding is inside of a View. Margin is outside of a View. see this link..http://stackoverflow.com/a/4619943/519718 – AAnkit Aug 05 '12 at 12:36
  • and you dont suppose to give padding in Layout tag.. give them to views inside layout.. – AAnkit Aug 05 '12 at 12:37
  • 1
    but tutorial I am following says, we can give padding weight inside the linear layout. Like in this case. – Alfred James Aug 05 '12 at 13:09
0

You can also use Space, but it only works on 4.0 and above.

   <Space
        android:layout_width="match_parent"
        android:layout_height="24dp" />
TheBlueCat
  • 1,147
  • 5
  • 19
  • 38
-1

It would be better if you take separate linear layout for each item and put padding.

<LinearLayout>
    <ScrollView>
    <LinearLayout>
        <LinearLayout>
            <TextView>
            <EditText>
        </LinearLayout>
        <LinearLayout>
            <TextView>
            <EditText>
        </LinearLayout>
        <LinearLayout>
            <TextView>
            <EditText>
        </LinearLayout>
    </LinearLayout>
     </ScrollView>
     <LinearLayout>
        <Button>
     </LinearLayout>
     <LinearLayout>
        <AnalogClock>
     </LinearLayout>
</LinearLayout> 
Peter
  • 855
  • 2
  • 15
  • 35