【问题标题】:EditText Padding not workingEditText 填充不起作用
【发布时间】:2015-04-21 08:39:56
【问题描述】:

我正在编写一个程序,其中我正在使用 EditText 并尝试应用填充,但它不起作用。

样式化 EditText

<style name="AppTheme.EditText" parent="android:Widget.EditText">
        <item name="android:gravity">center</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:padding">50dp</item>
        <item name="android:background">@drawable/edit_border</item>
   </style>

应用于 EditText

    <EditText
        android:id="@+id/editPartyDate"
        style="@style/AppTheme.EditText"
        android:hint="@string/reservation_date"
        />

AndroidStudio

    minSdkVersion 10
    targetSdkVersion 21

在设备上测试

    Android Version - 4.1.2

drawable/edit_border.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#008f8471"/>
    <stroke android:width="1dip" android:color="#ffffff" />
    <corners android:radius="0dp"/>
    <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>

代码:

 editDate = (EditText) view.findViewById(R.id.editPartyDate);

【问题讨论】:

  • 能否请您发布您的布局膨胀代码
  • 确保在布局膨胀期间没有将 null 作为根参数传递

标签: android xml android-edittext android-styles


【解决方案1】:

填充在后台资源(形状)中被重写。尝试删除 drawable/edit_border.xml 中的填充或在此文件中添加正确的填充值。 我测试过。有效)

【讨论】:

  • 我认为你的回答很有用
  • 另外,您可以在 AppTheme 中使用 &lt;item name="android:editTextStyle"&gt;@style/AppTheme.EditText&lt;/item&gt; 作为所有 EditText 的样式目标
【解决方案2】:

编辑您的 edit_border.xml:

来自

<?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="#000000"/>
        <stroke android:width="1dip" android:color="#ffffff" />
        <corners android:radius="0dp"/>
        <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
    </shape>

<?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="#000000"/>
        <stroke android:width="1dip" android:color="#ffffff" />
    </shape>

【讨论】:

  • 两者都是一样的。我也试过用这种方法
  • 你有没有把 android:left="0dip" 的值改成 android:left="2dip" 之类的。
  • 为你感到高兴,谢谢你,但找到解决方案的是你,而不是我,再次感谢你:)。为您的回答者 +1
  • 兄弟把你的答案,如果你注意到了,那么这就是你在 EditText 中突出显示的内容,但我在 XML 文件中进行了更改.. 为我发帖
【解决方案3】:

我已经替换了 edit_border.xml:

来自

<?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="#000000"/>
        <stroke android:width="1dip" android:color="#ffffff" />
        <corners android:radius="0dp"/>
        <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
    </shape>

<?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="#000000"/>
        <stroke android:width="1dip" android:color="#ffffff" />
    </shape>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 2012-08-02
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多