在XML中设置Button视图的背景使得按钮不可单击

我的XML文件中定义了一个按钮。按钮的工作方式与您期望的完全一样......直到我在底部添加行(android:background =“drawable / leftarrow1”)。然后按钮在活动中不再可点击,但新背景显示为我想要的。 是什么赋予了?
<Button
    android:id="@+id/switch_left"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:background="@drawable/leftarrow1" />
这是点击代码供参考
Button switchLeft = (Button) findViewById(R.id.switch_left);
switchLeft.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       Log.w(this.getClass().getName(), "clicked left arrow");
    }
});
    
已邀请:
我的工作完全正常。每次点击都会被录制 我的猜测是你使用一个实体图像文件(.png,.jpeg)作为你的背景。如果你只是使用这样的图像,它在点击或选择时永远不会改变。为此,这里描述了状态列表drawable。 在该XML文件中,您可以定义要在选定,单击等特定状态下显示的图像。 另一个提示。如果您想查看按钮的功能,例如使用这种代码。
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class TestButton extends Activity {

    Context ctx = null;
    Button btn = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.buttonbackground);

        ctx = getApplication();

        btn = (Button) findViewById(R.id.switch_left);

        btn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
               Toast.makeText(ctx, "Button clicked", 5000).show();
               // Log.w(this.getClass().getName(), "clicked left arrow");
            }
        });
    }
}
您可以更轻松地识别事件,因为Toast消息是更直观的反馈。     
嘿哥们用于显示带图像的按钮,有一个ImageButton可用。 在xml文件中试试这个。     

要回复问题请先登录注册