2014-09-11 5 views
0

모양이 원형 인 안드로이드 버튼이 있습니다. 또한 내가 눌렀을 때 배경색을 변경하는 xml이 있지만 눌린 상태가 변경된 후에 색상이 정상으로 돌아갑니다. 원형 버튼의 배경색 변경 안드로이드

나는 코드를 다음과 같이 변경했다

arg0.setBackgroundColor (의 GetResources() getColor에서 (R.color.greenText).);

하지만 배경이 타원형이 아닌 직사각형 모양을 사용합니다. setBackgroundColor를 사용할 때 배경 모양 변경 말했듯이 좋아, 난 여기에 생각

+1

눌러 진 색상으로 새로운 도형을 만들고 그 배경을 설정하십시오. – dharms

+0

아이디어 dcharms 주셔서 감사합니다 –

답변

2

1.you이

Button btn = (Button) findViewById(R.id.button1); 
btn.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000)); 

같은 컬러 필터에 관심이있을 수도, 당신이 원하는 무엇을 당신은 다른 값을 사용 색상의 상수 값을 알고 싶으면 the documents을 참조하십시오.

2.PorterDuff 곱하기 모드를 사용하여 프로그래밍 방식으로 전체 단추의 음영을 설정할 수 있습니다. 이렇게하면 색조가 아닌 단추 색상이 변경됩니다. 빨간색 음영 버튼

btn.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY); 

그리고 그것은 실제로하지? 뭐야, 그것은에 의해 현재 버튼의 색상 값을 곱하여 작동 녹색 음영 버튼

btn.getBackground().setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY); 

에 대한 예를 들어

귀하의 색상 값.

3. this Android Button Maker과 같은 온라인 도구를 사용하여 버튼을 사용자 정의하고 레이아웃 (태그 내부)에 android:background="@drawable/custom_btn"을 사용하여 사용자 정의 단추를 정의 할 수도 있습니다.

이제 저는 원하는 것을 성취 할 수있는 더 많은 방법이 있다고 생각합니다. 그러나 이것이 당신이 사용할 수있는 쉽고 빠른 해결책이라고 생각합니다. 도움이 되었으면합니다.

+0

감사장 Sash .... –

+0

나는'new LightingColorFilter (0xFF000000, 0xFFAA0000)'를 사용하여 색상을 대체했습니다. – injecteer