首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓: layout_below和layout_alignParentBottom

安卓: layout_below和layout_alignParentBottom
EN

Stack Overflow用户
提问于 2013-07-15 13:23:42
回答 2查看 3.9K关注 0票数 2

所以我有下面的布局

代码语言:javascript
复制
ScrollView

RelativeLayout
    TextView1
    EditText1

    TextView2
    EditText2

    TextView3
    EditText3

    TextView4
    EditText4

    TextView5
    EditText5: 
         android:id="@+id/txtPassword"

    LinearLayout: 
         android:id="@+id/Linearlayout1"
         layout_alignParentBottom="true" 

         Button1
         Button2

当我单击txtPassword EditText从LinearLayout重叠或在txtPassword顶部输入一些文本EditText时,会出现以下问题

有人建议我使用android:layout_below="@id/txtPassword"作为线性布局,但这使得layout_alignParentBottom="true“无用,因为它会将LinearLayout直接放在txtPassword下面,而不是在底部。

编辑:这是完整的布局

代码语言:javascript
复制
    <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/signatureScroller"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true" >

    <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>

</ScrollView>
EN

回答 2

Stack Overflow用户

发布于 2013-07-15 13:59:22

您可能想看看是否可以使用不同的windowSoftInputMode设置来修复这个问题。您可以尝试为这个特定的活动设置android:windowSoftInputMode="adjustPan“。如果键盘是可见的,并且集中在编辑文本上,它就会向上移动UI。当键盘可见时,adjustResize可以产生某些视图重叠的效果。

票数 0
EN

Stack Overflow用户

发布于 2013-07-16 14:04:19

使用android:layout_below="@id/txtPassword“作为LinearLayout将工作,不会使alignparentbottom=”真“无用。

试试看

代码语言:javascript
复制
<LinearLayout
        android:id="@+id/LinearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        layout_below="@id/txtPassword"
        android:layout_alignParentBottom="true" >

当您使用相对布局并打开键盘时,LinearLayout将位于键盘上方。

我会提出另一种解决方案,我认为它会奏效:

使用LinearLayout作为父级,使用最后一个LinearLayout高度填充父级并设置重力底部,尝试如下:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/signatureScroller"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true" >

<LinearLayout
    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_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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="right"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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_gravity="left"
        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="fill_parent"
        android:orientation="horizontal" >

        <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"
            android:layout_gravity="bottom"
            android:gravity="bottom" />

        <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"
            android:layout_gravity="bottom"
            android:gravity="bottom" />
    </LinearLayout>
</LinearLayout>

</ScrollView>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17655313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档