android - EditText 填充属性不适用于 API 21 和 22

标签 android android-edittext padding android-version

为我的 EditText 设置填充值。但是,它不适用于 2122 api 版本。但是,它非常适合 192324

这是我的代码:

<style name="LoginEditTextStyle">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">center_horizontal</item>
        <item name="android:maxLines">1</item>
        <item name="android:paddingLeft">@dimen/login_text_padding</item>
        <item name="android:paddingRight">@dimen/login_text_padding</item>
    </style>

这是我在布局 xml 中的编辑文本

<android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
          android:layout_marginTop="@dimen/login_container_child_view_top_margin"
            android:alpha="0">

            <EditText
                android:id="@+id/login_username_editText"
                style="@style/LoginEditTextStyle"
                android:hint="@string/user_name"
                android:inputType="text"
                />

        </android.support.design.widget.TextInputLayout>

21 api版本的结果

enter image description here

对于 24 位 api 版本

enter image description here

我知道有一个 bug用于从 xml 设置填充值的 edittext/spinner View 。

我知道这个问题有一些解决方案,例如以编程方式设置填充值。但这对我不起作用。

例如:this accepted solution doesn't work for me

int paddingLeft = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 40, getResources().getDisplayMetrics());
        int paddingRight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 55, getResources().getDisplayMetrics());
        int paddingTop = editText.getPaddingTop();
        int paddingBottom = editText.getPaddingBottom();
        editText.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);

最佳答案

我遇到了同样的问题。 paddingLeft 不适用于 Android 5.1.1 设备。

添加 paddingStart 代替它解决了我的问题。

请试一试。

关于android - EditText 填充属性不适用于 API 21 和 22,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44107246/

相关文章:

android: 如何处理 onStop 方法调用

android - Gradle > 任务 :app:generateSafeArgsDebug FAILED

html - Bootstrap 4 .card-group 不适用于列内的卡片

css - 图像占据了两个图像之间不必要的填充和边距或空间

Android appbundle : rename generated outputfile (. aab)

android - Android中每个进程需要2MB内存?

android - 使 ImageSpan 适合 TextView 行高

android - 在 Android 的 EditText 上写东西时,写的文本总是隐藏的?

android - 如何隐藏 EditText 的文本选择处理程序的 ActionPopupWindow

c++ - 为什么我不能为 C++ 枚举类型变量分配正确的值?