Android 在我使用的所有4个模拟器设备中,EditText文本与clear按钮不重叠,NEXUS 4除外

Android 在我使用的所有4个模拟器设备中,EditText文本与clear按钮不重叠,NEXUS 4除外,android,android-layout,android-xml,android-styles,nexus-4,Android,Android Layout,Android Xml,Android Styles,Nexus 4,我的编辑文本中有以下结果:从左到右 Android模拟器:分别为 3.2QVGA API 15,Nexus S API 23 Nexus 5X API 23,Galaxy S7 API 24 除我的Nexus 4外,所有4种设备的结果都很好,结果如下: NEXUS 4 API 22: 这是我的密码: XML: 所有的devices 4模拟器文本都被进一步推到了左侧/start expect Nexus 4。这几乎就像设备edittext对这些填充没有反应一样 您只需在AutoCompleteTe

我的编辑文本中有以下结果:从左到右

Android模拟器:分别为 3.2QVGA API 15,Nexus S API 23 Nexus 5X API 23,Galaxy S7 API 24

除我的Nexus 4外,所有4种设备的结果都很好,结果如下:

NEXUS 4 API 22:

这是我的密码:

XML:


所有的devices 4模拟器文本都被进一步推到了左侧/start expect Nexus 4。这几乎就像设备edittext对这些填充没有反应一样

您只需在AutoCompleteTextView中添加drawableRight,甚至不需要ImageView。这是修改后的布局

<android.support.design.widget.TextInputLayout
            android:id="@+id/firstNameTextInput"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/firstNameText"
                style="@style/body_text_style"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/prompt_first_name"
                android:imeOptions="actionNext"
                android:inputType="textPersonName"
                android:maxLines="1"
                android:drawableRight="@drawable/ic_clear_black_svg" // added new
                android:paddingEnd="@dimen/black_clear_button_square_length"
                android:paddingRight="@dimen/black_clear_button_square_length"
                tools:ignore="RtlSymmetry" />
</android.support.design.widget.TextInputLayout>

您是否也加入了ldpi进行了检查?这不是问题所在,正如我提到的,我硬编码了paddingand/paddingRight的值,并且所有设备都受更改的影响,Nexus 4除外。@RedM请尝试下面的答案,它应该可以解决您的问题。通过这样做,您甚至不需要关心未来即将推出的设备/解决方案。您不需要为每个分辨率管理正文、文本、视图、大小和黑色、清除按钮、正方形长度。只要尝试一下即可。它确实起作用,但会产生另一个问题。现在editText行不再位于x clear按钮下方。好的,然后从布局中删除ImageView,并将android:drawableRight=@drawable/ic\u clear\u black\u svg添加到AutoCompleteTextView中。查看更新的答案这是一个选项,但我使用的是vectorDrawable,它不适用于drawableRight for API,以免使其过于复杂,因为关闭图标时可以使用的解决方法简单明了。
<style name="body_text_style" parent="TextAppearance.AppCompat.Body1">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">@color/regular_black</item>
        <item name="android:textSize">@dimen/body_text_view_size</item>
        <item name="android:fontFamily">sans-serif-light</item>
    </style>
mdpi: <dimen name="body_text_view_size">13sp</dimen>
hdpi: <dimen name="body_text_view_size">13.5sp</dimen>
xhdpi: <dimen name="body_text_view_size">14sp</dimen>
xxhdpi: <dimen name="body_text_view_size">14.5sp</dimen>
xxxhdpi: <dimen name="body_text_view_size">15sp</dimen>

mdpi: <dimen name="black_clear_button_square_length">20dp</dimen>
hdpi: <dimen name="black_clear_button_square_length">21dp</dimen>
xhdpi: <dimen name="black_clear_button_square_length">22dp</dimen>
xxhdpi: <dimen name="black_clear_button_square_length">23dp</dimen>
xxxhdpi: <dimen name="black_clear_button_square_length">24dp</dimen>
android:paddingEnd="100dp"
android:paddingRight="100dp"
<android.support.design.widget.TextInputLayout
            android:id="@+id/firstNameTextInput"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/firstNameText"
                style="@style/body_text_style"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/prompt_first_name"
                android:imeOptions="actionNext"
                android:inputType="textPersonName"
                android:maxLines="1"
                android:drawableRight="@drawable/ic_clear_black_svg" // added new
                android:paddingEnd="@dimen/black_clear_button_square_length"
                android:paddingRight="@dimen/black_clear_button_square_length"
                tools:ignore="RtlSymmetry" />
</android.support.design.widget.TextInputLayout>