Ошибка позиционирования изображения - PullRequest
0 голосов
/ 12 августа 2011

Я пытаюсь установить положение изображения в относительной компоновке в ландшафтном режиме.

Я использую функцию Displaymetrics, чтобы получить экранный виджет, а затем вызываю setleft, чтобы установить левую позицию представления изображения с именем mStone1.

mMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(mMetrics);

 mStone1.setLeft(mMetrics.widthPixels-5);

Но мое приложение падает со следующей ошибкой: -

Не удалось найти метод android.widget.ImageView.setLeft, на который ссылается метод com.example.Myapp.onCreate

VFY: невозможно разрешить виртуальный метод 11: Landroid / widget / ImageView; .setLeft (I) V

Ответы [ 2 ]

0 голосов
/ 12 августа 2011

Вы также можете попробовать функцию View.Layout(int, int, int, int);, которую я считаю.

публичная пустота (int l, int t, int r, int b)

С: Уровень API 1

Назначение размера и позиции представлению и всем его потомкам

Это вторая фаза механизма разметки. (Первый измерительная). На этом этапе каждый родитель вызывает макет на всех своих дети их позиционируют. Обычно это делается с помощью ребенка измерения, которые были сохранены в меру pass ().

Производные классы не должны переопределять этот метод. Производные классы с дети должны переопределить onLayout. В этом методе они должны вызвать макет на каждого из своих детей.

Параметры:

l Левая позиция относительно родителя
t Верхнее положение относительно родителя
r Правая позиция относительно родителя
b Нижняя позиция относительно родителя

0 голосов
/ 12 августа 2011

Эта функция доступна только для API уровня 11 и выше.Таким образом, если вы не пишете для Android 3.0 (и не запускаете приложение), вы не можете использовать эту функцию.Может быть, попробуйте offsetLeftandRight http://developer.android.com/reference/android/view/View.html#offsetLeftAndRight(int)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...