작동해야하지만 작동하지 않습니다. 앱을 시작하면 버튼이 표시됩니다. 이제 버튼이 보이고 보이지 않게하고 싶습니다.for 루프의 토글 버튼 가시성
for 루프가 너무 빨라서 안드로이드가 표시 할 수 없습니까? 아무 반응이 없습니다. 나는 버튼을 본다.
나는 Thread.sleep()을 가지고있다. 수면 밀리 초는 예 : 100, 300 -> 무작위. 또한 너무 빠를 수 없습니다.
작동해야하지만 작동하지 않습니다. 앱을 시작하면 버튼이 표시됩니다. 이제 버튼이 보이고 보이지 않게하고 싶습니다.for 루프의 토글 버튼 가시성
for 루프가 너무 빨라서 안드로이드가 표시 할 수 없습니까? 아무 반응이 없습니다. 나는 버튼을 본다.
나는 Thread.sleep()을 가지고있다. 수면 밀리 초는 예 : 100, 300 -> 무작위. 또한 너무 빠를 수 없습니다.
나는 Thread.sleep()을 가지고있다. 수면 밀리 초는 예 : 100, 300 -> 무작위. 또한 너무 빠를 수 없습니다.
UI 스레드에서 자고 있습니다. 그것이 문제이다. UI 스레드의 나머지 부분에 작업을 맡기지 않을 것입니다.
UI를 주기적으로 업데이트하려는 경우 타이머를 대신 사용하거나 각 업데이트가 끝날 때 Handler.postDelayed
으로 전화하여 다음 업데이트를 예약해야합니다. 또는 Property Animation system을 사용하십시오.
버튼을 깜박이려면 알파 채널을 변경하여 애니메이션을 적용하십시오.
WebnetMobile.com 및 Jon Skeet이 맞습니다. 당신은 찾고있는 효과를 위해 타이머 나 애니메이션을 사용해야합니다.
for (k = 0; k < abc.length; ++k) {
try {
if (k%2 != 0) {
button.setVisibility(View.VISIBLE);
Thread.sleep(sleepMilliseconds);
} else {
button.setVisibility(View.GONE);
Thread.sleep(sleepMilliseconds);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
을 시각적으로 그들
이 시도 희망 도움이 당신을보고 500에 비해 그 밀리 초 더 폐하를 만들기 : 당신이 정말로 싶어이 당신의 방식으로이 작업을 수행 할 경우 다음과 같이
은 그러나 않습니다. .
는 클래스 변수를 선언하고 활동 클래스에서이 클래스 및이 방법을 추가
//variabe
boolean b;
//class
class RefreshHandler extends Handler {
@Override
public void handleMessage(Message msg) {
_yourActivity.this.updateUI();
}
public void sleep(long delayMillis) {
this.removeMessages(0);
sendMessageDelayed(obtainMessage(0), delayMillis);
}
public void stop(){
super.sendEmptyMessage(0);
}
}
및
//method
public void updateUI() {
if (b) {
button.setVisibility(View.VISIBLE);
b=false;
} else {
button.setVisibility(View.GONE);
b=true;
}
mRedrawHandler.sleep(1000);
}
다음 버튼을
mRedrawHandler = new RefreshHandler();
updateUI1();
의 가시성 투명를 시작하려면이를 사용하고이 사용을 중지 할 수 있습니다
mRedrawHandler.removeMessages(0);