Android:RelativeLayout alignParentBottom与EditText重叠

时间:2013-07-12 13:53:47

标签: android scrollview relativelayout overlap

所以我有以下布局:

<RelativeLayout 
    android:id="@+id/signatureLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#FFF"
    android:orientation="vertical"
    android:paddingBottom="20dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="20dp"
        android:text="@string/Meaning"
        android:textColor="#000"
        android:textSize="14sp" />

    <EditText
        android:id="@+id/txtMeaning"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:enabled="false"
        android:inputType="text|textMultiLine"
        android:singleLine="true"
        android:textColor="#505050"
        android:textSize="14sp" >
    </EditText>

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/txtMeaning"
        android:layout_marginTop="16dp"
        android:text="@string/Comments"
        android:textColor="#000"
        android:textSize="14sp" />

    <EditText
        android:id="@+id/txtSignatureComments"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/TextView01"
        android:layout_below="@+id/TextView01"
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:hint="@string/Comments"
        android:inputType="textMultiLine"
        android:maxLength="250"
        android:singleLine="false"
        android:textSize="14sp" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="4dp"
        android:contentDescription="@string/Image"
        android:scaleType="fitXY"
        android:src="@drawable/line2" />

    <ImageView
        android:id="@+id/ImageView01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/TextView01"
        android:layout_below="@+id/TextView01"
        android:layout_marginTop="4dp"
        android:contentDescription="@string/Image"
        android:scaleType="fitXY"
        android:src="@drawable/line2" />

    <TextView
        android:id="@+id/txtDuration"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/txtSignatureComments"
        android:layout_marginTop="16dp"
        android:text="@string/Duration2"
        android:textColor="#000"
        android:textSize="14sp" />

    <ImageView
        android:id="@+id/imgDuration"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/txtDuration"
        android:layout_marginTop="4dp"
        android:contentDescription="@string/Image"
        android:scaleType="fitXY"
        android:src="@drawable/line2" />

    <EditText
        android:id="@+id/txtHours"
        android:layout_width="140dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/imgDuration"
        android:layout_marginLeft="6dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:hint="@string/Hours"
        android:inputType="number|textMultiLine"
        android:singleLine="true"
        android:textColor="#505050"
        android:textSize="14sp" >
    </EditText>

    <EditText
        android:id="@+id/txtMinutes"
        android:layout_width="140dp"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/txtHours"
        android:layout_alignParentRight="true"
        android:layout_marginRight="6dp"
        android:ems="10"
        android:hint="@string/Minutes"
        android:inputType="numberDecimal|text|textMultiLine"
        android:singleLine="true"
        android:textColor="#505050"
        android:textSize="14sp" >
    </EditText>

    <TextView
        android:id="@+id/txtException"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/txtHours"
        android:layout_marginTop="16dp"
        android:text="@string/Exception"
        android:textColor="#000"
        android:textSize="14sp" />

    <ImageView
        android:id="@+id/imgException"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/txtException"
        android:layout_marginTop="4dp"
        android:contentDescription="@string/Image"
        android:scaleType="fitXY"
        android:src="@drawable/line2" />

    <Spinner
        android:id="@+id/spnrException"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imgException"
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="16dp" />

    <EditText
        android:id="@+id/txtExceptionDesc"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/spnrException"
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="8dp"
        android:ems="10"
        android:inputType="textMultiLine"
        android:maxLength="250"
        android:singleLine="false"
        android:textSize="14sp" >
    </EditText>

    <TextView
        android:id="@+id/txtPerformance"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/txtExceptionDesc"
        android:layout_marginTop="16dp"
        android:text="@string/PerformanceBased"
        android:textColor="#000"
        android:textSize="14sp" />

    <ImageView
        android:id="@+id/imgPerformance"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/txtPerformance"
        android:layout_marginTop="4dp"
        android:contentDescription="@string/Image"
        android:scaleType="fitXY"
        android:src="@drawable/line2" />

    <Spinner
        android:id="@+id/spnrPerformance"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/imgPerformance"
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="16dp" />

    <EditText
        android:id="@+id/txtUsername"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/spnrPerformance"
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="60dp"
        android:ems="10"
        android:hint="@string/Username"
        android:inputType="textCapCharacters|textAutoComplete"
        android:singleLine="true"
        android:textAllCaps="true"
        android:textSize="12sp" >

    </EditText>

    <EditText
        android:id="@+id/txtPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/txtUsername"
        android:layout_marginLeft="6dp"
        android:layout_marginRight="6dp"
        android:layout_marginTop="10dp"
        android:ems="10"
        android:hint="@string/Password"
        android:inputType="textPassword"
        android:singleLine="true"
        android:textSize="12sp" />

    <LinearLayout
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >

        <Button
            android:id="@+id/btnSave"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/button_detail_bg"
            android:text="@string/Sign"
            android:textColor="@drawable/button_detail_txt"
            android:textSize="16sp"
            android:textStyle="bold" />

        <Button
            android:id="@+id/btnCancel"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/button_detail_bg"
            android:text="@string/Cancel"
            android:textColor="@drawable/button_detail_txt"
            android:textSize="16sp"
            android:textStyle="bold" />
    </LinearLayout>
</RelativeLayout>

当键盘焦点位于 TextView:txtPassword

时,问题是 LinearLayout:LinearLayout1 TextView:txtPassword 重叠

LinearLayout:LinearLayout1有android:layout_alignParentBottom =“true”使它保持在底部但我不知道为什么当焦点在TextView上时:txtPassword LinearLayout:LinearLayout1只是重叠它

3 个答案:

答案 0 :(得分:0)

我建议你将整个RelativeLayout嵌入ScrollView中,并且还包括android:layout_below =&#34; @ + id / txtPassword&#34;在LinearLayout1中。 layout_alignParentBottom =&#34;真&#34;不需要。我在ScrollView中尝试了它并且工作正常。

您错过了按钮(FYI)的一些边距对齐。

答案 1 :(得分:0)

有两种方法可以将相对布局放入scrollview中,这是扩展布局时的一种好习惯,也可以从用户名edittext中删除页边距

答案 2 :(得分:-1)

试试这个:

 <LinearLayout
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/txtPassword"
    android:layout_alignParentBottom="true" >