EditText在Android Marshmallow 6.0设备上消失

时间:2017-11-08 18:50:22

标签: android android-layout android-edittext android-6.0-marshmallow

这就是我在IDE中的xml布局文件的样子:before

在每个设备上看起来都是这样但是棉花糖的那些,最终看起来像这样:after

正如您所看到的,密码EditText和Remember CheckBox在没有跟踪的情况下消失了,但我仍然可以在类文件中正常声明它们。

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_log_in"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="my.app.LogInActivity">
<!-- Dummy item to prevent AutoCompleteTextView from receiving focus -->
<LinearLayout
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:layout_width="0px"
    android:layout_height="0px"
    android:id="@+id/linearLayout5"
    android:orientation="horizontal" />

<!-- :nextFocusUp and :nextFocusLeft have been set to the id of this component
to prevent the dummy from receiving focus again -->
<AutoCompleteTextView android:id="@+id/autotext"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:nextFocusUp="@id/autotext"
    android:visibility="invisible"
    android:nextFocusLeft="@id/autotext"
    android:textSize="15sp" />

<TextView
    android:id="@+id/txtname"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/txt_customer"
    android:layout_alignBottom="@+id/txt_customer"
    android:text="Name"
    android:textSize="14sp" />

<EditText
    android:id="@+id/txt_customer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentEnd="true"
    android:layout_below="@+id/autotext"
    android:layout_toEndOf="@+id/bt_exit"
    android:ems="10"
    android:imeOptions="flagNoExtractUi"
    android:inputType="textPersonName"
    android:maxLength="100"
    android:textSize="15sp" />

<EditText
    android:id="@+id/txt_password"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView2"
    android:layout_alignBottom="@+id/textView2"
    android:layout_alignParentEnd="true"
    android:layout_alignStart="@+id/txt_customer"
    android:ems="10"
    android:imeOptions="flagNoExtractUi"
    android:inputType="textPassword"
    android:maxLength="100"
    android:textSize="15sp" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/txtname"
    android:layout_alignStart="@+id/txtname"
    android:layout_below="@+id/txt_customer"
    android:layout_marginTop="25dp"
    android:text="Pasword"
    android:textSize="14sp" />

<Button
    android:id="@+id/bt_login"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:text="LogIn"
    android:textColor="#000000" />

<Button
    android:id="@+id/bt_exit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toEndOf="@+id/linearLayout5"
    android:text="Quit"
    android:textColor="#000000" />

<CheckBox
    android:id="@+id/check_remember"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignStart="@+id/txt_password"
    android:layout_below="@+id/txt_password"
    android:text="Remember" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/linearLayout5"
    android:layout_toEndOf="@+id/linearLayout5"
    android:text="Log In" />

Name EditText和Password EditText是相同的,但只有密码才消失在Marshmallow 6.0设备上。我已经尝试改变主题,构建目标,位置但它仍然是相同的。出了什么问题?

编辑#1:这question mentioned "messy code" and it was solved by "cleaning up" the code。我使用RelativeLayout作为他的父亲,但改为LinearLayout是不可行的。

编辑#2:我试图预设一个值只是为了登录,它正常工作,就像我只是手动输入它。内部布局文件是相同的:只显示一个EditText,其余(EditText,CheckBox,RadioButtons)消失。到底是怎么回事??示例:enter image description here

在棉花糖上:enter image description here

1 个答案:

答案 0 :(得分:0)

解决了消失的虫子。从this SO answer开始this Google issue。我必须删除android:layout_alignBaseline属性,它们将呈现正常。