0

そのため、メニューボタンを中央に配置するために、電話の画面の実際のサイズを取得しようとしています。私のGingerbread電話では問題なく動作しますが、Jellybeanシミュレーターではすべて間違っています...

WindowManager wm = (WindowManager) Assets.context.getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    try{
        Point size = new Point();
        display.getSize(size);
        screenHeight = size.y;
        screenWidth = size.x;
    }catch(NoSuchMethodError e){
        //API lower than 12, revert to deprecated methods
        screenWidth = display.getWidth();
        screenHeight = display.getHeight();
    }*/

しかし、たとえば、x = screenWidth/2 の線を描画すると、ジェリービーンでは画面の中央近くにはありません! それは私を怒らせています、どんな助けも大歓迎です:)

4

2 に答える 2

3

DisplayMetricsおそらく代わりに使用する必要があります。これを試して:

DisplayMetrics metrics = Assets.context.getResources().getDisplayMetrics();
int widthPixels = metrics.widthPixels;
int heightPixels = metrics.heightPixels;
于 2013-03-06T09:25:05.817 に答える
1
Display display =getWindowManager().getDefaultDisplay();

try{

    screenHeight = display.getHeight();;
    screenWidth = display.getWidth();
}catch(NoSuchMethodError e){
    //API lower than 12, revert to deprecated methods

}*/
于 2013-03-06T09:22:13.710 に答える