Не работает setImageResource

257
05 ноября 2017, 16:13

Осваивая AndroidStudio, столкнулся с такой проблемой. Следующий код должен рисовать на экране бутылку, и далее с помощью многократного вызова fly() , например по таймеру, она должна лететь вниз. Что происходит на самом деле: ничего, просто белый пустой экран без каких-либо признаков жизни. Объясните, пожалуйста, что я здесь сделал не так?

 public class Bottle {
    ImageView bottle;
    private float y;
    private float size;
    private  float x;
    public Bottle(MainActivity main) {
        size =(float)(MainActivity.screenWidth/(Math.random()*5+5));
        bottle = new ImageView(main);
        main.addContentView(bottle,new RelativeLayout.LayoutParams((int)size, (int)size));
        bottle.setImageResource(R.drawable.bottle);
        y=size/2;
        x = (float) Math.random()*(MainActivity.screenWidth -size)+size/2;
        bottle.setY(y);
        bottle.setX(x);
        bottle.setScaleX(size);
        bottle.setScaleY(size);
    }
    public void fly() {
        if (y <= MainActivity.screenHeight + size / 2) {
            y += 5;
            bottle.setY(y);
        }
    }
}
Answer 1

В вашем случае, как мне кажется, самый простой способ, рисовать вашу бутылку на канве.

Вот тут неплохо расписано для начала.
http://startandroid.ru/ru/uroki/vse-uroki-spiskom/311-urok-141-risovanie-dostup-k-canvas.html

Манипулирование элементами UI интерфейса требует хороших знаний о типах разметки и контейнеров, много нюансов там.
А судя по вашему коду, вы в этом сильно плаваете :)

READ ALSO
e.printStackTrace() заменяет throw?

e.printStackTrace() заменяет throw?

Часто встречаю подобный код:

296
Ошибка версии приложения; Error &ldquo;application_version&rdquo;

Ошибка версии приложения; Error “application_version”

При запуске выскакивают ошибки:

394
Создание таблицы SQLite нажатием кнопки

Создание таблицы SQLite нажатием кнопки

Добрый деньПодскажите, каким образом можно создать таблицу методом onClick? Например я создаю школьное расписание, и при первом входе в приложение...

260
Не могу получить appender из log4s.property

Не могу получить appender из log4s.property

Подскажите как получить все аппендеры из log4jproperty?

261