为什么在修改其背景时更改EditText的高度?

时间:2018-06-18 14:56:37

标签: android android-edittext height

我有一个editText,方法如下:

<EditText
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:id="@+id/edtNombreActDetallesProductoServicio"
  android:maxLines="1"
  android:singleLine="true"
  android:padding="14px"
  android:layout_marginLeft="8px"
  android:layout_marginRight="8px"
  android:layout_marginBottom="8px"
  android:textAppearance="?android:attr/textAppearanceLarge"
  android:textColor="@android:color/black"
  android:background="@drawable/edit_text_redondeado"/>

我通过以下方式修改了你的backGround:

private void habilitarControles(boolean estado){
    Drawable fondo = null;
    if (true == estado){
         fondo = (Drawable) getResources().getDrawable(R.drawable.edit_text_redondeado);
    }
    else{
         fondo = (Drawable) getResources().getDrawable(R.drawable.edit_text_redondeado_deshabilitado);
   }
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
           edtNombreActDetallesProductoServicio.setBackground(fondo);
   }

其中:

edit_text_redondeado:

  <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <solid android:color="@android:color/white"/>
                <stroke android:color="@color/colorPrimaryDark" android:width="2dp" />
                <corners android:radius="7dp" />
            </shape>
        </item>
    </selector>

和edit_text_redondeado_deshabilitado:

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <solid android:color="@color/colorGrisClaro"/>
                <stroke android:color="@color/colorBlanco" android:width="2dp" />
                <corners android:radius="7dp" />
            </shape>
        </item>
    </selector>

但是当运行应用程序并更改backGround时,editText的宽度会减小。 (前两个editText)

enter image description here

我已经尝试通过动态编程更改backGround后解决了这个问题。 (即重新设置宽度值等于MATCH_PARENT,高度等于WRAP_CONTENT)

但问题仍然存在。

欢迎任何想法或建议

0 个答案:

没有答案