我创建了一款基于480x320p的游戏,当我在1280x800p平板电脑上进行测试时,它运行良好,但我的游戏资源的位图效果不佳。
首先,问题是Nexus 5的问题:1080x1920像素(~445 ppi像素密度) https://drive.google.com/file/d/0B0u8kyWNwqykZlNIRVBpVEFPZ00/view?usp=sharing
它应该是这样的(Nexus 1:480×800p) https://drive.google.com/file/d/0B0u8kyWNwqykalNiUExuSzNNelU/view?usp=sharing
这是我对主游戏布局和
的XML代码<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_game_rl"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</RelativeLayout>
你可以看到它的相对布局应该与屏幕尺寸相匹配。 然后我在Game.java中分配布局
RelativeLayout Rel_main_game
setContentView(R.layout.activity_game);
Rel_main_game = (RelativeLayout) findViewById(R.id.main_game_rl);
DisplayMetrics dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);
final int heightS = dm.heightPixels;
final int widthS = dm.widthPixels;
然后我在游戏面板中设置了@ drawable / background,它没有正确填充屏幕。
background = new Background(BitmapFactory.decodeResource(getResources(), R.drawable.game_background), ScreenWidth, this);
Q1:如何更新我的@ drawable / nodpi资源以及布局,以便它们能够适应不同的屏幕尺寸和屏幕比例? Q2:我离开应用程序后继续播放另一个小问题。我相信如果你能解决问题,这不会是一个问题:)
提前致谢!
答案 0 :(得分:0)
您可以像这样设置为全屏:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);