如何确保按钮在此Android登录对话框中水平对齐?
我在Android上创建了一个登录对话框,我想要两个按钮在顶部和底部边缘水平对齐,而不管屏幕大小如何。有时候“忘记密码”会突破两行,有时不会。我不想在按钮上强制使用minHeight
,并且宁愿只使用基于XML设计(而不是代码)的解决方案。如何确保按钮在此Android登录对话框中水平对齐?
风景是好的:
肖像,默认实现离开登录按钮短于 “忘记密码”
一个解决方案,我试过了layout_height被设置match_parent
第一个按钮的参数。没有完全工作:
XML:
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/terms_layout"
android:layout_marginTop="10dp"
>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="@string/login"
android:textSize="18sp"
android:id="@+id/dialog_login_button_login"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/forgotPassword"
android:textSize="18sp"
android:id="@+id/dialog_login_button_forgot_password"
/>
</LinearLayout>
回答:
使用的RelativeLayout,使 “登录” 按钮,对准的 “忘记密码” 按钮,在顶部和底部
回答:
更换您的xml与此xml
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/terms_layout"
android:layout_marginTop="10dp"
android:weightSum="2"
>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
>
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/login"
android:textSize="18sp"
android:id="@+id/dialog_login_button_login"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
>
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="@string/forgotPassword"
android:textSize="18sp"
android:id="@+id/dialog_login_button_forgot_password"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
/>
</RelativeLayout>
</LinearLayout>
回答:
正如@manjusg回答,mak e登录按钮将底部和顶部与另一个按钮对齐。
这是我如何做的:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:id="@+id/terms_layout"
android:layout_marginTop="10dp">
<View
android:id="@+id/center_strut"
android:layout_height="0dp"
android:layout_width="0dp"
android:layout_centerInParent="true" />
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:text="Login"
android:textSize="18sp"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/center_strut"
android:layout_alignBottom="@+id/dialog_login_button_forgot_password"
android:layout_alignTop="@+id/dialog_login_button_forgot_password"
android:id="@+id/dialog_login_button_login" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignLeft="@+id/center_strut"
android:text="Forgot Password"
android:textSize="18sp"
android:id="@+id/dialog_login_button_forgot_password" />
</RelativeLayout>
</LinearLayout>
回答:
检查这个
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout">
<Button
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Login"
android:id="@+id/button"/>
<Button
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="FORGOT PASSWORD"
android:id="@+id/button2"/>
</LinearLayout>
<LinearLayout
android:layout_alignBottom="@+id/linearLayout"
android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:paddingTop="6dp"
android:paddingBottom="6dp"
android:layout_height="wrap_content">
<View
android:layout_width="0.5dp"
android:layout_height="wrap_content"
android:background="#000000"/>
</LinearLayout>
</RelativeLayout>
以上是 如何确保按钮在此Android登录对话框中水平对齐? 的全部内容, 来源链接: utcz.com/qa/259023.html