android - 在屏幕中央对齐控件

标签 android android-layout

我有一些控件,我想将它们放在屏幕中央,所以我使用了以下代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical|center_horizontal"
    android:background="#DDDDDD">
    <TextView
        android:id="@+id/tv_un"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10pt"
        android:textColor="#444444"

        android:layout_marginRight="9dip"
        android:layout_marginTop="20dip"
        android:layout_marginLeft="10dip"

        android:text="User Name:"/>
    <EditText
        android:id="@+id/et_un"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:background="@android:drawable/editbox_background"
        android:layout_toRightOf="@id/tv_un"

        android:layout_alignTop="@id/tv_un"/>
     <TextView
        android:id="@+id/tv_pw"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10pt"
        android:textColor="#444444"

        android:layout_below="@id/tv_un"
        android:layout_marginRight="9dip"
        android:layout_marginTop="15dip"
        android:layout_marginLeft="10dip"

        android:text="Password:"/>
    <EditText
        android:id="@+id/et_pw"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:background="@android:drawable/editbox_background"
        android:layout_toRightOf="@id/tv_pw"
        android:layout_alignTop="@id/tv_pw"
        android:layout_below="@id/et_un"
        android:layout_marginLeft="17dip"

        android:password="true"        />
    <Button
        android:id="@+id/btn_login"
        android:layout_width="100dip"
        android:layout_height="wrap_content"
        android:layout_below="@id/et_pw"

        android:layout_marginTop="15dip"
        android:layout_marginLeft="110dip"

        android:text="Login" />
     <TextView
        android:id="@+id/tv_error"
        android:layout_width="fill_parent"
        android:layout_height="40dip"
        android:textSize="7pt"

        android:layout_below="@id/btn_login"
        android:layout_marginRight="9dip"
        android:layout_marginTop="15dip"
        android:layout_marginLeft="15dip"
        android:textColor="#AA0000"

        android:text=""/>
</RelativeLayout>

但是输出变成了下图

enter image description here

无论屏幕方向如何,如何将它们居中

最好的问候

最佳答案

尝试 android:layout_centerInParent = "true" 这可以解决您的问题。您可以将此属性应用于要显示在屏幕中央的任何元素。

关于android - 在屏幕中央对齐控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10697219/

相关文章:

Android Studio 无法在任务 ':project:dexDebug' 上调用 IncrementalTask​​.taskAction()

android - 使用 android 服务更新小部件

java - 如何在后按时执行某些操作,而不是仅针对一个 fragment 从 backStack 弹出,并且仍然能够对其他 fragment 正常工作?

android - 如何设置句子中特定单词的文本颜色?

android - 广播接收器在 Android 中的工作原理

android - 将文件保存在 Nexus 7 的外部存储器上并从 PC 检索

android - 需要创建一个在互联网可用时上传数据的后台服务

android - 线性布局中线条的宽度百分比

Android:以编程方式从 XML 制作布局

java - 绘制自定义弧 View 并检测用户对每个弧的点击