在Android中将mopub横幅旋转90度

在Android中将mopub横幅旋转90度,android,orientation,mopub,Android,Orientation,Mopub,我已经创建了一个面向横向的android应用程序,并将mopub广告集成到其中,我希望广告在屏幕的左右两侧横向运行,但是当我将xml布局设置为水平时,文本仍然从左到右运行,而我的左边有一个垂直横幅,横幅中间有一个小框。 我尝试过使用旋转动画,但当广告旋转时,测试广告会被剪裁,而文本甚至不会出现在横幅内。 我能想到的唯一解决方案是将活动转换为纵向并旋转我的openGL曲面,但这意味着我必须重写整个openGL代码以旋转所有内容。仅仅旋转相机也不起作用,因为我必须重新调整所有内容并重写接口代码 有没

我已经创建了一个面向横向的android应用程序,并将mopub广告集成到其中,我希望广告在屏幕的左右两侧横向运行,但是当我将xml布局设置为水平时,文本仍然从左到右运行,而我的左边有一个垂直横幅,横幅中间有一个小框。 我尝试过使用旋转动画,但当广告旋转时,测试广告会被剪裁,而文本甚至不会出现在横幅内。 我能想到的唯一解决方案是将活动转换为纵向并旋转我的openGL曲面,但这意味着我必须重写整个openGL代码以旋转所有内容。仅仅旋转相机也不起作用,因为我必须重新调整所有内容并重写接口代码

有没有办法让mopub广告加载到肖像中,让我的openGL加载到风景中,或者有任何我没有想到的解决方案不需要我重写所有的openGL代码

然而,我发现,我正在为android编程,对此毫无意义


我目前使用的是使用xml的线性布局。

您可以尝试View.getMatrix。以下代码可能会执行此操作:

Matrix m = adView.getMatrix();
m.postRotate(90);
m.postTranslate(adView.getWidth(), 0);
这假定已定义视图大小。否则,您需要一个固定值,如50dp,而不是getWidth:

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

祝您好运:

我遇到运行时错误,java.lang.IllegalStateException:无法修改矩阵幸运的是View没有setMatrix,但是它有方法setPivotX、setPivotY、setRotation、setTranslationX、setTranslationY,您可以尝试:setPivotXwidth>>1;setPivotYheight>>1;setRotation90,这不会给出错误,但可能无法满足您的需要。不幸的是,我遇到了与旋转动画相同的剪辑问题,谢谢您的尝试