Android: when changing background color of EditText, changing EditText style

Hi When I change the background color of the EditText two EditText , they look like a merge.

My layout code looks like this:

 <EditText android:id="@+id/editText4" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:hint="Text1" android:singleLine="true" /> <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:hint="Text2" android:singleLine="true" > </EditText> <AutoCompleteTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:imeOptions="actionNext"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <EditText android:id="@+id/editText2" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:hint="Text3" android:singleLine="true" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <EditText android:id="@+id/editText2" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:hint="Text4" android:singleLine="true" /> </LinearLayout> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> 

`

and my activity code is as follows

 public class MainActivity extends Activity { EditText editText1, editText2, editText3, editText4; Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { editText1.setBackgroundColor(getResources().getColor(android.R.color.primary_text_dark_nodisable)); editText3.setBackgroundColor(getResources().getColor(android.R.color.darker_gray)); } }); } private void init() { editText1 = (EditText) findViewById(R.id.editText1); editText2 = (EditText) findViewById(R.id.editText2); editText3 = (EditText) findViewById(R.id.editText4); button = (Button) findViewById(R.id.button1); } 

}

Refer to the attached screenshots below.

Layout before pressing a button

enter image description here

Layout after pressing a button

enter image description here

+4
source share
2 answers

As you can see here , using EditText.setBackgroundColor(any color) , you will color your outline. To preserve the outline aspect, I would recommend including edittext in the table row and using margin. Try this in your xml and see the result:

 <TableRow android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/black" android:orientation="vertical" > <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/holo_orange_dark" android:layout_margin="1dip" android:text="cosmincalistru" /> </TableRow> 
+3
source

You set the same identifier for edittext. @ + id / editText 2

 <EditText android:id="@+id/editText2" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:hint="Text3" android:singleLine="true" /> 

 <EditText android:id="@+id/editText2" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:hint="Text4" android:singleLine="true" /> 

-1
source

All Articles