switch button을 사용하고 싶지만 클릭시 변경 상태를 비활성화하려면이 옵션을 드래그 옵션으로 만 변경하십시오. onclick
리스너를 설정하려고 시도하지만 아무 때나 버튼을 클릭하면 항상 상태가 변경됩니다.전환 버튼, 변경 상태 비활성화 on
변경 상태를 비활성화 하시겠습니까? onClick
?
switch button을 사용하고 싶지만 클릭시 변경 상태를 비활성화하려면이 옵션을 드래그 옵션으로 만 변경하십시오. onclick
리스너를 설정하려고 시도하지만 아무 때나 버튼을 클릭하면 항상 상태가 변경됩니다.전환 버튼, 변경 상태 비활성화 on
변경 상태를 비활성화 하시겠습니까? onClick
?
사용 Toggle Button 대신 자바 클래스
ToggleButton toggle = (ToggleButton) findViewById(R.id.togglebutton);
toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// The toggle is enabled
} else {
// The toggle is disabled
}
}
});
//onClickListener
public void tglOnClick(View v) {
ToggleButton tgl = (ToggleButton) v;
//do something based on toggle status after clicking
if (tgl.isChecked())
//do something
else
//do something else
//revert button state so that it can be controlled by some external logic
tgl.setChecked(!tgl.isChecked());
}
이을의 토글 버튼
<ToggleButton
android:id="@+id/togglebutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
에 대한 Button
XML의 나를 위해 일했다. 내 경우 토글 버튼을 클릭하면 서비스에 요청이 전송되고 서비스가 "OK"로 응답하면 메시지 핸들러가 토글 버튼의 올바른 상태를 설정합니다. 일부 장치는 움직임을보고으로
public boolean onTouchEvent(MotionEvent ev) {
boolean response;
switch (ev.getAction()){
case MotionEvent.ACTION_DOWN:
x = ev.getX();
response = super.onTouchEvent(ev);
break;
case MotionEvent.ACTION_UP:
response = Math.abs(x - ev.getX()) <= 10 || super.onTouchEvent(ev);
break;
default:
response = super.onTouchEvent(ev);
break;
}
return response;
}
수 (10)는 공차 값은 다음과 같습니다
당신은 당신이 클릭을 감지 할 때 customSwitch 클래스를 생성하고 true를 반환하는 onTouchEvent 메소드를 오버라이드 (override) 할 필요가 스위치 위젯을 것이다 사용 3 픽셀 또는 6 픽셀 정도의 클릭 이벤트가 발생하면이를 제어합니다. 10 픽셀 이하는 클릭 (무시)되거나 더 먼 거리가 움직임으로 간주되어이 움직임이 정상적인 스위치 동작을 통과하게합니다. 당신은 단지 다음을 수행 슬쩍으로 스위치의 상태를 변경하려면
: (false)를
switchbutton = view.findViewById(R.id.switch2);
switchbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switchbutton.setChecked(!switchbutton.isChecked());
}
});
사용 button.setClickable –
하지만 난 내가 스위치를 끌어 캔트 (false)를 setclickable 경우 – bott
당신은 드래그를위한 onTouch 이벤트를 사용할 수 있습니다 ... –