내가 속한 학교 기업이 운전자의주의를 분산시키는 데있어 Google Glass의 효과를 연구하고 있습니다. 그렇게하기 위해, 우리는 Stroop 효과를 사용했습니다 - http://en.wikipedia.org/wiki/Stroop_effect여러 CardBuilder보기를 주기적으로 순환
지금까지 우리는 참가자가 운전 시뮬레이터를 사용하면서 여러 카드를 스 와이프 할 수있게하기 위해 CardScrollView를 사용했습니다. 문제는 매번 스 와이프하는 것이 너무 혼란 스럽다는 것입니다.
이상적으로는 몇 초 동안 각보기를 표시 한 다음 다음보기로 전환하고 싶습니다.
저는 하루 종일 웹을 수색 해왔고 이론적으로 어떻게 작동하는지에 대한 많은 다른 구성을 시도했지만 아직 성공하지 못했습니다.
다음은 최근에 제가 작업해온 수업입니다. 주 활동 함수 onResume()에서 run을 호출합니다.
package com.google.android.glass.sample.apidemo;
import android.app.Activity;
import android.content.Context;
import android.os.SystemClock;
import com.google.android.glass.widget.CardBuilder;
import java.lang.Runnable;
import java.util.ArrayList;
public class StroopCycle implements Runnable {
private Activity mActivity;
private ArrayList<CardBuilder> cards = new ArrayList<CardBuilder>();
public StroopCycle(Activity act){
mActivity = act;
cards.add(createCard(mActivity, R.drawable.one));
cards.add(createCard(mActivity, R.drawable.two));
cards.add(createCard(mActivity, R.drawable.three));
cards.add(createCard(mActivity, R.drawable.four));
cards.add(createCard(mActivity, R.drawable.five));
cards.add(createCard(mActivity, R.drawable.six));
cards.add(createCard(mActivity, R.drawable.seven));
cards.add(createCard(mActivity, R.drawable.eight));
cards.add(createCard(mActivity, R.drawable.nine));
cards.add(createCard(mActivity, R.drawable.ten));
cards.add(createCard(mActivity, R.drawable.eleven));
cards.add(createCard(mActivity, R.drawable.twelve));
cards.add(createCard(mActivity, R.drawable.thirteen));
cards.add(createCard(mActivity, R.drawable.fourteen));
cards.add(createCard(mActivity, R.drawable.fifteen));
cards.add(createCard(mActivity, R.drawable.sixteen));
cards.add(createCard(mActivity, R.drawable.seventeen));
cards.add(createCard(mActivity, R.drawable.eighteen));
cards.add(createCard(mActivity, R.drawable.nineteen));
cards.add(createCard(mActivity, R.drawable.twenty));
}
@Override
public void run() {
for(int j = 0; j < cards.size(); j++){
mActivity.setContentView(cards.get(j).getView());
SystemClock.sleep(1000);
if (j == cards.size() - 1){
j = 0;
}
}
}
private static CardBuilder createCard(Context context, int drawable) {
return new CardBuilder(context, CardBuilder.Layout.TITLE)
.addImage(drawable);
}
}
감사합니다.
감사합니다.
중 하나를 사용하십시오. 그러나, 나는 이미 그것을 시도했다. 문제는 루프에서 animate 또는 setSelection을 사용하면 마지막 반복 만 표시된다는 것입니다. –
UI (Activity)와 타이머 (A Runnable, Timer)를 분리해야하기 때문에 –
고마워요! 나에게 올바른 방향으로 나를 가리킬 수있는 예제 코드 나 뭔가를 가르쳐 주시겠습니까? Android 및 Google Glass 개발이 처음입니다. –