EditText边距在更改背景颜色时丢失

时间:2014-03-17 09:33:08

标签: android android-edittext

我在水平方向的线性布局中创建了5个编辑文本,并且没有设置填充或边距。当我更改这些编辑文本的背景颜色时,边框会丢失。请帮助我们确保我的编辑文本不会丢失边框。以下是代码段。

保存填充并重新分配它没有帮助!

private void setToNonEditMode(EditText textBox, boolean nonEditMode){

        if(nonEditMode){
            textBox.setClickable(false);
            textBox.setBackgroundColor(getResources().getColor(R.color.transparent));
            textBox.setFocusable(false);
            textBox.setFocusableInTouchMode(false);
        }else{
            textBox.setClickable(true);
            textBox.setBackgroundColor(getResources().getColor(R.color.white));
            textBox.setFocusable(true);
            textBox.setFocusableInTouchMode(true);
        }
    }

1 个答案:

答案 0 :(得分:1)

您是否尝试将编辑文本定义为形状然后进行分配? 我看到你以编程方式创建EditText,但这是你可以尝试的东西:

  1. 在res / drawable文件夹中创建一个drawable作为xml:

     <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
      <solid android:color="#ffffff" />
          <stroke android:width="1dip" android:color="#000000"/>
     </shape>
    
  2. 使用此:

     textBox.setBackgroundResource(R.drawable.name_of_your_xml_shape_file);