我有一个RelativeLayout,其宽度/高度设置为wrap_content。但是,右下角的按钮在其下侧被截断。 更改RelativeLayout的paddingBottom没有帮助,也没有为按钮添加marginBottom。
有什么想法吗?
这是我的代码:
<RelativeLayout
android:id="@+id/sign_up_phase_enteraddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingTop="10dp"
android:paddingRight="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:background="#ff6aa639"
>
<TextView
android:id="@+id/sign_up_signuphere"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginBottom="29dp"
android:text="@string/sign_up_signuphere"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/sign_up_emaillabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/sign_up_signuphere"
android:layout_alignLeft="@id/sign_up_signuphere"
android:layout_alignBaseline="@+id/sign_up_email"
android:text="@string/sign_up_emailaddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/sign_up_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="46dp"
android:layout_below="@id/sign_up_signuphere"
android:layout_toRightOf="@id/sign_up_emaillabel"
android:ems="10"
android:inputType="textEmailAddress" >
<requestFocus />
</EditText>
<Button
android:id="@+id/sign_up_signup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/sign_up_haveaccount"
android:layout_alignRight="@id/sign_up_email"
android:layout_below="@id/sign_up_email"
android:text="@string/sign_up_signup" />
<TextView
android:id="@+id/sign_up_haveaccount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/sign_up_emaillabel"
android:layout_marginTop="27dp"
android:layout_below="@id/sign_up_email"
android:text="@string/sign_up_haveaccount"
android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>
...这就是它在模拟器中的样子:
有关如何让我的按钮显示底部的任何想法? TIA!
答案 0 :(得分:3)
我的想法是使用xml代码
将按钮底部边框设置为左侧文本的高度android:layout_alignBottom="@+id/sign_up_haveaccount"
因为您已经设置了layout_below
选项。但是你的xml代码是不正确的:)我会在这里尝试为你写更好的xml代码。
好吧,我发现了你的问题。而我正在寻找解决方案。 我为textview设置了新的填充底部因为按钮与此textview基线对齐。我知道这可能是一个很好的黑客,但我找不到好的方法来处理它:)
根据您的布局,我更改了edittext的行为以使其可伸缩。我还将所有元素分为3组。每行一个,使其更具可读性。
另外不要忘记关于xmls的前两行。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/sign_up_phase_enteraddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#ff6aa639"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp" >
<!-- 1 row -->
<RelativeLayout
android:id="@+id/row1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="29dp" >
<TextView
android:id="@+id/sign_up_signuphere"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sign_up_signuphere"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
<!-- 2 row -->
<RelativeLayout
android:id="@+id/row2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/row1" >
<TextView
android:id="@+id/sign_up_emaillabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/sign_up_email"
android:text="@string/sign_up_emailaddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/sign_up_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="20dp"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/sign_up_emaillabel"
android:inputType="textEmailAddress" >
<requestFocus />
</EditText>
</RelativeLayout>
<!-- 3 row -->
<RelativeLayout
android:id="@+id/row3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/row2" >
<TextView
android:id="@+id/sign_up_haveaccount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="27dp"
android:paddingBottom="15dp"
android:text="@string/sign_up_haveaccount"
android:textAppearance="?android:attr/textAppearanceSmall" />
<Button
android:id="@+id/sign_up_signup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/sign_up_haveaccount"
android:layout_alignParentRight="true"
android:text="@string/sign_up_signup" />
</RelativeLayout>
</RelativeLayout>
答案 1 :(得分:0)
这是因为你的填充,你在底部给了10 dp填充,你的按钮视图没有足够的空间。移除填充并检查它。