屏幕中心视图内容

时间:2013-05-28 16:57:46

标签: android android-canvas

我一直在将Java游戏移植到Android上,现在我基本上只剩下一步了:原始桌面版本创建了一个窗口并绘制了一个相同大小的黑色大框。整个游戏领域的分辨率低于标准Android设备的分辨率,但可读的情况还是如此,所以我想简单地保留我们所知的所有坐标,并在屏幕中居中游戏区域,在所有方向上扩展边界。 / p>

现在,我可以去找到所有各种绘制方法并添加适当的偏移量,或者我可以简单地(虽然我不知道如何)将视图嵌入到另一个中,并简单地在游戏区中移动0,0适当的抵消。后者是我的首选,但我根本不知道从哪里开始!

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您完全确定您的内容适合显示器并且您只想将其置于布局中,假设您的游戏大小(例如320x200)您可以从某事开始像这样:

只需使用根FrameLayout创建一个xml布局文件(认为这是一个指针:我没有测试此代码):

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#000000"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <YourView
        android:id="@+id/myview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"/>
</FrameLayout>

游戏内容应以屏幕为中心,“YourView”的黑色边框将溢出屏幕。

希望这有帮助

注意:编辑了layout_width / height参数(因为设置其中的内容大小会产生不正确的结果,除非您的视图遵循类似于android:gravity参数的内容)。