我有一个带有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的背景颜色。
答案 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));