2013-04-24 3 views
3

drawableLeft이있는 Button이 있는데이를 클릭하면 drawableleft 만 다른 이미지로 변경하고 싶습니다. 무슨 자바 코드를 사용해야합니까?단추를 클릭 할 때 단추의 drawableLeft 변경

XML : 이것은 당신의 버튼의 onClick() 핸들러

// get your button 
Button docli_btn_apagar = (Button) findViewById(R.id.docli_btn_apagar); 

// get the drawable 
Drawable img = getContext().getResources().getDrawable(R.drawable.smiley); 

// set the drawable left 
docli_btn_apagar.setCompoundDrawablesWithIntrinsicBounds(img, null, null, null); 

또는 대안 호출 할 것이다

<Button 
    android:id="@+id/docli_btn_apagar" 
    android:layout_width="200dp" 
    android:layout_height="70dp" 
    android:background="@android:color/transparent" 
    android:onClick="ApagarLinha" 
    android:drawableLeft="@drawable/trash" 
    android:text="@string/apagar" 
    android:textAppearance="?android:attr/textAppearanceLarge"/> 
+0

어서, 당신은 가지고 올 수 너의 자신의 코드 비트, 안돼? –

+0

다른 이미지를 누르는 것을 의미하고 버튼을 원래 드로어 블로 다시 놓을 때, 맞습니까? – Pratik

+0

아니 Pratik, 클릭 한 후 이미지를 변경하려면 – Celta

답변

6

:

// You can skip the drawable object directly, by using ints/IDs 
docli_btn_apagar.setCompoundDrawablesWithIntrinsicBounds(R.drawable.smiley, 0, 0, 0); 
+0

와우, 내가 원했던 것처럼 작동했습니다, 덕분에 – Celta

+0

@ Celta 기꺼이 도와 줄 수 있습니다. upvote를 주어야합니다! –

0
public class AsyncClassTest extends Activity { 

String strMessage; 
private Button button; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    button = (Button) findViewById(R.id.docli_btn_apagar); 
    button.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      ((Button) view).setCompoundDrawables(getResources().getDrawable(android.R.drawable.btn_plus), null, null, null); 
     } 
    }); 
} 
} 
관련 문제