ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – Android屏幕方向处理问题

2019-05-20 14:20:13  阅读:249  来源: 互联网

标签:java android screen-orientation andengine live-wallpaper


我正在研究Android动态壁纸应用程序,需要正确处理屏幕方向的变化.

目前我为此目的使用onConfigurationChanged(在这个方法中我需要改变我的LWP屏幕元素的坐标.我使用andengine).在仿真器和我的测试手机上一切正常,但是一些我的客户使用三星Galaxy Note2(t03g),LG激动(LGE LG-P925)报告了在屏幕方向改变期间应用程序工作不正确的问题.

我手边没有这些手机,但可以认为问题与onConfigurationChanged没有被调用有关.

使用onConfigurationChanged方法是否正确?也许我需要使用onSurfaceChanges或类似的东西?你能否告诉我解决这个问题的正确方法?

Alos,我在我的AndroidManifest.xml中添加了android:configChanges =“keyboardHidden | orientation”:

<activity
            android:name=".WallpaperSettings"
            android:configChanges="keyboardHidden|orientation"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.PREFERENCE" />
            </intent-filter>
        </activity>

解决方法:

在我处理方向更改的动态壁纸中,我使用onConfigurationChange()方法检查方向更改,但我没有任何关于2手机的直接经验,尽管我从来没有对它们抱怨过.我的方法看起来像是:

   @Override
   public void onConfigurationChanged(Configuration newConfig) {
       super.onConfigurationChanged(newConfig);

       // Checks the orientation of the screen  
       if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
         rotated = true;
       }
       else {
         rotated = false;
       }
   }

在draw()方法中,我检查旋转的布尔值. onSurfaceChanged()中还有其他检查,以在方向更改时更正分辨率更改.

我的清单文件中根本没有android:configChanges =“keyboardHidden | orientation”.

标签:java,android,screen-orientation,andengine,live-wallpaper
来源: https://codeday.me/bug/20190520/1143811.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有