2016-06-22 2 views
-3

Я хочу позиционировать изображение динамически.Как установить X и setY в процентах?

комплектX и комплектY работает хорошо, но в пикселях. Я хочу, чтобы мое приложение было эскалационным на экране каждого устройства. Кроме того, я хочу, чтобы он работал в ландшафтном режиме.

Каков правильный метод?

+0

Я нашел решение [здесь] (http://stackoverflow.com/questions/4605527/converting-pixels-to-dp) Первый ответ хороший. –

ответ

0

setX и setY не являются подходящим способом размещения изображений в Android.

Вы должны использовать LinearLayout или RelativeLayout для поддержки дизайна на любых ориентациях и любых устройствах.

Макеты и ImageViews могут быть созданы и добавлены динамически.

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.mylayout) 
TextView txt1 = new TextView(MyClass.this); 
linearLayout.setBackgroundColor(Color.TRANSPARENT); 
linearLayout.addView(txt1); 

Благодаря исходный код автор: Дипак

Вы только должны изменить TextView для ImageView.

+0

Но это для статического случая, мое изображение перемещается на каждой итерации onLocationChange. Я могу поместить изображение внутри макета, но потом мне нужно переместить его с чем-то вроде setX. –

+0

Хорошо, вы можете рассказать немного больше о своей цели? Я не совсем понимаю. Что делает ваше приложение? –

+0

У меня есть бар с шаром внутри. Каждый раз, когда местоположение меняется, он вычисляет положение шара должно быть внутри этого бара. Мяч - это Imageview, а панель LinearLayout. –