更改EditText问题的背景颜色

时间:2014-02-18 13:04:13

标签: android android-edittext

我有一个带有edittext的简单布局。

当我将EditText的背景设置为颜色时

    <EditText
        android:id="@+id/et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="@android:color/white" />

然后当edittext获得焦点时会发生奇怪的事情,布局的背景颜色会发生变化(!)。

我需要动态更改背景颜色,调用后我得到相同的结果:

subject.setBackgroundColor(Color.parseColor(mycolor));

我也尝试过以下方法:

subject.setBackground(new ColorDrawable(Color.parseColor(mycolor)));

结果是一样的。

基本上我想在运行时更改Edittext的背景颜色。

2 个答案:

答案 0 :(得分:2)

解决方案是添加父布局来保存背景并将EditText背景设置为null。

我不喜欢这个解决方案,但它确实有效。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/white"  >

    <EditText
        android:id="@+id/et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@null" />
</LinearLayout>

答案 1 :(得分:0)

试试这个::

 String myHexColor = "#CC2233";// color u get from webserver
EditText myView = (EditText) findViewById(R.id.myEditText);
myView.setBackGroundColor(Color.pasrsehexString(myHexColor));