I am facing a problem .
I have two Button
object.
ButtonA
ButtonB
Requirement:-
When ever I press
Use below code..
Boolean isOnePressed = false, isSecondPlace = false;
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
isOnePressed = true;
b1.setBackgroundColor(Color.BLUE);
if (isSecondPlace) {
b2.setBackgroundColor(Color.WHITE);
isSecondPlace = false;
}
}
});
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
b2.setBackgroundColor(Color.BLUE);
isSecondPlace = true;
if (isOnePressed) {
b1.setBackgroundColor(Color.WHITE);
isOnePressed = false;
}
}
});
Hope it helps...
I'm not tested below code. but i think this will helpful to you.
private Drawable defaultDrawableA;
private Drawable defaultDrawableB;
private Button buttonA , buttonB;
buttonA = (Button) findViewById(R.id.buttonA);
buttonB= (Button) findViewById(R.id.buttonB);
buttonA .setOnClickListener(this);
buttonB.setOnClickListener(this);
@Override
public void onClick(View v) {
if (v == buttonA)
if(defaultDrawableA== null)
{
defaultDrawableA=buttonA.getDrawable();
buttonA.setBackgroundColor(Color.BLUE);
}
else
{
buttonA.setBackgroundDrawable(defaultDrawableA);
defaultDrawableA=null;
}
else if (v == buttonB)
if(defaultDrawableB == null)
{
defaultDrawableB=buttonB.getDrawable();
buttonB.setBackgroundColor(Color.RED);
}
else
{
buttonB.setBackgroundDrawable(defaultDrawableB);
defaultDrawableB=null;
}
return;
}
Try this...
button_bg.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@color/button_pressed"/> <!-- pressed -->
<item android:drawable="@color/button_default"/> <!-- default -->
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_bg"
android:text="Click Me"
android:textColor="#fff" />
Try this:
final Button buttonA = (Button) findViewById(R.id.ButtonA);
final Button buttonB = (Button) findViewById(R.id.ButtonB);
buttonA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
buttonB.setBackgroundColor(Color.CYAN);
}
});
buttonB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
buttonA.setBackgroundColor(Color.RED);
}
});
or
make selector.xml in drawables folder and copy code below in it:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/focused_pressed" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/pressed" />
<item android:drawable="@drawable/normal" />
</selector>
copy this code for buttonA in your layout
<Button
android:id="@+id/buttonA"
style="@drawable/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="Button A" />
buttoncolor.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/bgalt" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/bgalt" />
<item android:drawable="@drawable/bgnorm" />
</selector>
Now use like below:
b1 = (Button) findViewById(R.id.b1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
b2.setBackgroundDrawable(getResources().getDrawable(R.drawable.whatever));
}
});
b2 = (Button) findViewById(R.id.b2);
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
b1.setBackgroundDrawable(getResources().getDrawable(R.drawable.whatever));
}
});
Easiest way
just change color whatever you want
button_design.xml
<?xml version="1.0" encoding="utf-8"?>
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/colorPurple"></solid>
<corners android:radius="100dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<gradient android:endColor="@color/colorPurple" android:startColor="@color/colorBlue" />
<corners android:radius="100dp" />
</shape>
</item>