Мне нужно сделать так, чтобы изображение автоматически менялось на другое изображение примерно через 27 секунд в зависимости от звукового файла. Я использую App Inventor 2, чтобы сделать это, я тоже, когда дело доходит до такого типа вещей.App Inventor 2 - Изменение изображения после времени
ответ
Попробуйте это: XML код
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Count"
android:textColor="#F44336"
android:textSize="30dp" />
<ImageSwitcher
android:id="@+id/imageSwitcher"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv1"
android:layout_centerHorizontal="true"
android:layout_marginTop="168dp" />
И активность:
private ImageSwitcher sw;
private TextView tv1;
CountDownTimer myCountDown;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.tv1);
sw = (ImageSwitcher) findViewById(R.id.imageSwitcher);
sw.setFactory(new ViewFactory() {
@Override
public View makeView() {
ImageView myView = new ImageView(getApplicationContext());
myView.setScaleType(ImageView.ScaleType.FIT_CENTER);
myView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
return myView;
}
});
sw.setImageResource(R.drawable.love1);
myCountDown = new CountDownTimer(27000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
tv1.setText(millisUntilFinished/1000 + "");
}
@Override
public void onFinish() {
tv1.setText("0");
sw.setImageResource(R.drawable.love2);
}
};
myCountDown.start();
}
Прежде всего, вам нужно использовать часы компонента. Вы можете найти его в части датчиков. Просто перетащите его в свой экран. Во-вторых, просто создайте глобальный список изображений, которые вы хотите просмотреть во время воспроизведения звука.
Затем просто создайте глобальные целочисленные переменные для индекса обратного отсчета времени и изображений. Вам просто нужно установить временную переменную «27» и индексную переменную изображений до «0» при нажатии кнопки звука.
Затем добавьте чек, чтобы определить переменную обратного отсчета. Просто смотрите ниже изображение для полного кода:
Наконец, вам нужно установить переменную обратный отсчет до «0», когда звук конца. Вы также можете настроить видимость холста на false, чтобы скрыть изображение.
людям проще помочь вам, если у них есть какой-то соответствующий код для работы - пожалуйста, покажите нам, что вы пробовали до сих пор – 0X0nosugar
Добро пожаловать в Stackoverflow. Пожалуйста, сначала [возьмите тур] (http://stackoverflow.com/tour) и прочитайте [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask). Затем * отредактируйте * свой вопрос и добавьте скриншот того, что вы пробовали. – Taifun