2014-02-19 44 views

回答

2

你可以做到這一點有一個XML文件更容易在你的繪製文件夾(mybutton.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/mydrawable /> 
    <item android:state_focused="true" android:drawable="@drawable/otherdrawable" /> 
    <item android:drawable="@color/redcolor" /> 
</selector> 

,並使用該按鈕XML代碼

android:background:@drawable/mybutton 

正如可以在第一代碼段看你可以爲每個按鈕狀態的不同可拉伸(顏色,圖像...)。按鈕狀態可以找到herehere

用這種方法你不需要使用任何代碼。

+0

謝謝! android:drawable =「@ color/redcolor」是什麼?我需要指出某種顏色或某種顏色嗎? – Fuchsia

+0

@Fuchsia是'colors.xml'中引用的資源。 – Raghunandan

+0

@Fuchsia Drawable可以是圖像或顏色。最後一項僅僅是一個例子,但是你可以看到它沒有'state'屬性,這意味着這是默認的drawable。 – Merlevede

0

使用選擇

android button selector

ACTION_DOWN改變lisbtnpressed使用OnTouchListenerACTION_UP設置爲默認

btnListenC.setOnTouchListener(new OnTouchListener() { 
@Override 
public boolean onTouch(View v, MotionEvent event) { 
switch(event.getAction()) 
{ 
    case MotionEvent.ACTION_DOWN : 
        // change 
      btnListenC.setBackgroundResource(R.drawable.lisbtnpressed); 
    break; 
    case MotionEvent.ACTION_UP : 
       // set to original 
      btnListenC.setBackgroundResource(R.drawable.lisbtnoriginal); 
    break; 
    } 
return true; 
    } 
}); 
相關問題