2011-07-02 7 views
2

그래서이 두 버튼을 만들었습니다.stateListDrawable help

내가 만든 버튼을 클릭하고 버튼을 토글 버튼에있을 때의 상태로 전환하는 대신 원래 버튼의 윤곽이없는 이미지로 바꿀 수있게하려고합니다.

지금까지 내가 알아 낸 모든 것은 stateListDrawable xml과 관련이 있습니다.이 글은 3 개의 드로어 블 폴더에 있습니다. 그게 내가 찾은 유일한 장소, 그러나, 내가 어디에 xml 파일을 참조 할 수 있는지 모르겠다. 프로그래밍 방식으로이 작업을 수행합니까? 그렇다면 올바른 튜토리얼의 올바른 방향을 알려주십시오. 안드로이드 개발자 페이지는 저에게 외국어입니다. 그리고 나는 당신이 더 좋은 생각을 가질 수 있도록 버튼을 게시했을 것이다. 그러나 나는 더 많은 포인트를 얻을 때까지 나는 그럴 수 없다. 이 얼마나 비밀 장치!

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" 
     android:drawable="@drawable/toggle_selection_pressed" /> 
<item android:drawable="@drawable/toggle_selection" /> 
</selector> 
+0

메인 클래스 선언에 넣고, 대신 당김 - LDPI에 넣어/MDPI/hdpi에 등 그리고 RAnderson 솔루션은 작동합니다 ... – Rainbowbreeze

답변

1

당신은 버튼의 상태를 유지하는 변수가 필요합니다. 당신이 그릴 수 폴더 안에 선택기를 사용하는 XML 파일을 넣을 수 있습니다

int isClicked = 0; 

    button.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
     if (isClicked == 0){ 
      Demo_button.setsetImageResource(R.drawable.secondimage); 
      isClicked = 1; 
     } 
     else{ 
      Demo_button.setsetImageResource(R.drawable.firstimage); 
      isClicked = 0; 
     } 
    } 
    } 
1

귀하의 드로어 블 xml 파일은 버튼의 이미지가 있어야하는 곳이면 어디에서나 참조 할 수 있습니다.

예를 들어, 버튼을 배치 레이아웃에는 다음과 같습니다

<Button 
<!-- Other stuff --> 
android:background="@drawable/xmlfile" 
> 
+0

맞아, 나는 그것을 시도했지만 나는 아무것도 얻지 못했다. – Cataroux

+0

아무 것도 표시되지 않습니까, 아니면 클릭이 작동하지 않습니까? 또한 stateListDrawable xml 파일의 이름은 무엇입니까? – RAnderson