xml布局看起来不同

时间:2016-01-24 08:12:31

标签: android xml android-layout

Android Studio中的布局看起来很不错,但在真实设备中运行时,设计会略微运行。

Android Studio

enter image description here

真实设备

enter image description here

有人可以告诉我这里有什么问题吗?任何帮助将不胜感激。以下是我的xml布局代码。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/bg_login"
    android:gravity="center"
    android:orientation="vertical"
    android:padding="10dp">

    <EditText
        android:id="@+id/name"
        android:layout_width="325dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:background="@color/white"
        android:hint="@string/hint_name"
        android:inputType="textPassword"
        android:padding="10dp"
        android:singleLine="true"
        android:textColor="@color/input_login"
        android:textColorHint="@color/input_login_hint" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="vertical"
        android:paddingLeft="20dp"
        android:paddingRight="20dp" >

        <EditText
            android:id="@+id/password"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:background="@color/white"
            android:hint="@string/hint_password"
            android:inputType="textPassword"
            android:padding="10dp"
            android:singleLine="true"
            android:textColor="@color/input_login"
            android:textColorHint="@color/input_login_hint" />

        <!-- Login Button -->

        <Button
            android:id="@+id/btnLogin"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dip"
            android:background="@color/btn_login_bg"
            android:text="@string/btn_login"
            android:textColor="@color/btn_login" />

       <Button
           android:layout_width="327dp"
           android:layout_height="33dp"
           android:id="@+id/forget"
           android:background="@null"
           android:textColor="@color/white"
           android:text="Forget Password ?"
           android:textSize="12dp"
           android:paddingLeft="150dp"
           android:textAllCaps="false"

           />
        <Button
            android:id="@+id/btnLinkToRegisterScreen"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:background="@null"
            android:text="Create account"
            android:textAllCaps="false"
            android:textColor="@color/white"
            android:textSize="15dp" />
    </LinearLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

问题在于,对于密码和电子邮件,editText提供了无法填充,

试试这个

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_blue_dark"
    android:gravity="center"
    android:orientation="vertical"
    android:padding="20dp">

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="15dp"
        android:background="@android:color/holo_purple"
        android:ems="10"
        android:hint="username"
        android:inputType="textEmailAddress" />

    <EditText
        android:id="@+id/editText3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="15dp"
        android:layout_marginTop="15dp"
        android:background="@android:color/holo_purple"
        android:ems="10"
        android:hint="password"
        android:inputType="textPassword" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="15dp"
        android:background="@android:color/darker_gray"
        android:text="Login"
        android:textAllCaps="false" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:background="@android:color/transparent"
        android:text="Forgot password"
        android:textAllCaps="false" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_margin="10dp"
        android:background="@android:color/transparent"
        android:text="Create Account"
        android:textAllCaps="false" />
</LinearLayout>
  

输出

enter image description here

对于所有屏幕,这将保持相同

答案 1 :(得分:0)

您需要将名称编辑文本放在内部线性布局之外,只需按以下步骤更新您的xml: -

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/bg_login"
android:gravity="center"
android:orientation="vertical"
android:padding="10dp">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:orientation="vertical"
    android:paddingLeft="20dp"
    android:paddingRight="20dp" >

     <EditText
    android:id="@+id/name"
    android:layout_width="325dp"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:background="@color/white"
    android:hint="@string/hint_name"
    android:inputType="textPassword"
    android:padding="10dp"
    android:singleLine="true"
    android:textColor="@color/input_login"
    android:textColorHint="@color/input_login_hint" />

    <EditText
        android:id="@+id/password"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:background="@color/white"
        android:hint="@string/hint_password"
        android:inputType="textPassword"
        android:padding="10dp"
        android:singleLine="true"
        android:textColor="@color/input_login"
        android:textColorHint="@color/input_login_hint" />

    <!-- Login Button -->

    <Button
        android:id="@+id/btnLogin"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dip"
        android:background="@color/btn_login_bg"
        android:text="@string/btn_login"
        android:textColor="@color/btn_login" />

   <Button
       android:layout_width="327dp"
       android:layout_height="33dp"
       android:id="@+id/forget"
       android:background="@null"
       android:textColor="@color/white"
       android:text="Forget Password ?"
       android:textSize="12dp"
       android:paddingLeft="150dp"
       android:textAllCaps="false"

       />
    <Button
        android:id="@+id/btnLinkToRegisterScreen"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:background="@null"
        android:text="Create account"
        android:textAllCaps="false"
        android:textColor="@color/white"
        android:textSize="15dp" />
</LinearLayout></LinearLayout>