Android 在相对布局上对齐按钮和编辑文本

Android 在相对布局上对齐按钮和编辑文本,android,android-relativelayout,Android,Android Relativelayout,我将此代码作为listview的页脚。它只是一个编辑文本和一个发送消息的按钮 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="fill_parent" android:id="@+id/relati

我将此代码作为listview的页脚。它只是一个编辑文本和一个发送消息的按钮

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:orientation="vertical"
    android:layout_height="fill_parent" android:id="@+id/relativelayout_messages" android:gravity="right" 
    android:background="@drawable/fondomain" android:paddingTop="4dp">   

<ListView android:id="@+id/android:list" android:listSelector="@android:color/transparent"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:divider="@layout/linedivider" android:dividerHeight="8dp"
    android:cacheColorHint="#0000" android:paddingTop="5dp"  
    android:layout_alignParentTop="true" android:footerDividersEnabled="true" 
    android:paddingLeft="10dp" android:paddingRight="10dp"
    android:layout_above="@+id/InnerRelativeLayout"     
    android:fastScrollEnabled="true"
 />

<!-- footer -->
<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/InnerRelativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginTop="10dp"
    android:background="@color/greytable"
    android:paddingTop="5dp"
    android:paddingRight="3dp"
    android:paddingLeft="3dp">

    <EditText
        android:id="@+id/et_sent_msg"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"           
        android:layout_toLeftOf="@+id/bt_sent_msg" >
    </EditText>

    <Button
        android:text="Enviar"
        android:id="@+id/bt_sent_msg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@layout/selector_button_msg"
        android:textSize="15dp"
        android:textStyle="bold"
        android:gravity="center"
        android:textColor="@color/black"           
        android:layout_alignParentRight="true" />
</RelativeLayout>

这是按钮背景的形状

<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
    <shape>
        <gradient
            android:startColor="#757202"
            android:endColor="#757202"
            android:angle="270" />    
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
        <stroke android:width="1dp" android:color="#919790"/>   
    </shape>
</item>

<item>        
    <shape>
        <gradient
            android:startColor="#FFF038"
            android:endColor="#FFFF6C"
            android:angle="270" />    
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />   
        <stroke android:width="1dp" android:color="#919790"/>                   
    </shape>
</item>

乍一看不容易看到,但我的EditExt没有完全与按钮对齐。如你所见


将编辑文本对齐到父对象的左下角。然后allign you button to right of edit text和allign button top to edit text top和button bottom to edit text bottom将编辑文本对齐到父对象的左下角。然后allign you button to right of edit text,allign button top to edit text top,button bottom to edit text bottom,您需要执行以下操作:

  • 将android:layout\u alignParentBottom=“true”设置为编辑文本和按钮
  • 将android:layout\u alignParentLeft=“true”设置为编辑文本
  • 将android:layout_toRightOf=“@+id/edittextid”设置为按钮
  • 页脚添加修改后的代码

    <RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/InnerRelativeLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="10dp"
        android:paddingTop="5dp"
        android:paddingRight="3dp"
        android:paddingLeft="3dp">
    
        <EditText
            android:id="@+id/et_sent_msg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/bt_sent_msg" >
        </EditText>
    
        <Button
            android:text="Enviar"
            android:id="@+id/bt_sent_msg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:textStyle="bold"
            android:gravity="center"
            android:textColor="@color/black"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true" />
    </RelativeLayout>
    
    
    
    您需要执行以下操作:

  • 将android:layout\u alignParentBottom=“true”设置为编辑文本和按钮
  • 将android:layout\u alignParentLeft=“true”设置为编辑文本
  • 将android:layout_toRightOf=“@+id/edittextid”设置为按钮
  • 页脚添加修改后的代码

    <RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/InnerRelativeLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="10dp"
        android:paddingTop="5dp"
        android:paddingRight="3dp"
        android:paddingLeft="3dp">
    
        <EditText
            android:id="@+id/et_sent_msg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/bt_sent_msg" >
        </EditText>
    
        <Button
            android:text="Enviar"
            android:id="@+id/bt_sent_msg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:textStyle="bold"
            android:gravity="center"
            android:textColor="@color/black"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true" />
    </RelativeLayout>
    
    
    
    我的editText与我的editText不完全对齐??请澄清您的问题?我的editText与我的editText不完全对齐??请澄清您的问题?崩溃并告诉我我存在循环依赖关系。我删除了edittext上的android:layout_toLeftOf=“@id/bt_sent_msg”行,在循环依赖的情况下不起作用。您已经对彼此的两个视图进行了引用。如果我输入代码,则列表视图不会显示,而是显示为灰色块。但是如果我删除android:layout\u alignParentBottom=“true”与以前一样。好的,我已经修改了我的主线程,谢谢你的帮助!您好,Vinet,代码运行良好,但是如果我不在editText和按钮上使用android:layout\u alignParentBottom=“true”,您知道为什么吗?崩溃并告诉我存在循环依赖关系。我删除了edittext上的android:layout_toLeftOf=“@id/bt_sent_msg”行,在循环依赖的情况下不起作用。您已经对彼此的两个视图进行了引用。如果我输入代码,则列表视图不会显示,而是显示为灰色块。但是如果我删除android:layout\u alignParentBottom=“true”与以前一样。好的,我已经修改了我的主线程,谢谢你的帮助!嗨,Vinet,代码很好用,但是如果我不在编辑文本和按钮上使用android:layout\u alignParentBottom=“true”,你知道为什么吗?