2015-09-07 3 views
0

Я создал приложение для Android в ландшафтной ориентации и включил в него объявления mopub, я хочу, чтобы реклама показывалась сбоку влево и вправо от экрана, однако, когда я устанавливал xml в горизонтальном направлении текст по-прежнему работает слева направо, и я остаюсь с вертикальным баннером, который имеет небольшую коробку в центре. Я пробовал использовать анимацию вращения, но когда объявление вращается, тестовое объявление обрезается, и текст даже не появляется внутри баннера. Единственное решение, о котором я могу думать, это превратить деятельность в портрет и повернуть мою поверхность openGL, но это означало бы, что я должен переписать весь мой код openGl, чтобы повернуть все. Просто вращение камеры не работает, потому что мне придется перестроить все и переписать код интерфейса.Вращение баннера мопедов на 90 градусов в Android

Есть ли способ сделать загрузку рекламного объявления mopub в портрете и иметь нагрузку openGL в ландшафте или любое решение, о котором я не думал, не требует, чтобы я переписал весь мой код openGL?

я нашел this, однако я программирую для андроид и не могу иметь никакого смысла его

Я в настоящее время с помощью LinearLayout с использованием XML.

ответ

0

Вы можете попробовать View.getMatrix(). Следующий код может сделать трюк:

Matrix m = adView.getMatrix(); 
m.postRotate(90); 
m.postTranslate(adView.getWidth(), 0); 

Предполагается, что размер вида определен. В противном случае, вместо GetWidth(), вам нужно фиксированное значение, как 50dp:

float xShift = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 
       50, activity.getResources().getDisplayMetrics()); 
    m.postTranslate(xShift, 0); 

Удачи :)

+0

Я получаю сообщение об ошибке во время выполнения, java.lang.IllegalStateException: Матрица не может быть изменен –

+0

К сожалению, у View нет setMatrix, однако он имеет методы setPivotX, setPivotY, setRotation, setTranslationX, setTranslationY, вы можете попробовать: setPivotX (width >> 1); setPivotY (высота >> 1); setRotation (90). Это не даст ошибки, но может не делать то, что вам нужно. – cyanide

+0

К сожалению, я сталкиваюсь с тем же вопросом отсечения, что и с анимацией вращения, спасибо за попытку –