我目前在支持不同的屏幕尺寸方面遇到了很多问题,但这令人沮丧。 我正在写一个游戏,我正处于最后阶段。我设计了一个自定义键盘,并调整它以适应不同的屏幕,但我目前遇到更高分辨率,更高屏幕(例如540x960,720x1280)的问题。已经为每个dp提供了资源。
这是在这些屏幕上发生的事情:
在540x960
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fontspace="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.example.classes.FontImageButton
android:id="@+id/qButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="q" />
<com.example.classes.FontImageButton
style="@style/button"
android:id="@+id/wButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/qButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="w"/>
<com.example.classes.FontImageButton
style="@style/button"
android:id="@+id/eButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/wButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="e"/>
<com.example.classes.FontImageButton
style="@style/button"
android:id="@+id/rButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/eButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="r"/>
<com.example.classes.FontImageButton
style="@style/button"
android:id="@+id/tButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/rButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="t"/>
<com.example.classes.FontImageButton
style="@style/button"
android:id="@+id/zButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="z"/>
<com.example.classes.FontImageButton
style="@style/button"
android:id="@+id/uButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/zButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="u"/>
<com.example.classes.FontImageButton
style="@style/button"
android:id="@+id/iButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/uButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="i"/>
<com.example.classes.FontImageButton
style="@style/button"
android:id="@+id/oButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/iButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="o"/>
<com.example.classes.FontImageButton
style="@style/button"
android:id="@+id/pButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/oButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="p"/>
<com.example.classes.FontImageButton
android:id="@+id/aButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/qButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="a" />
<com.example.classes.FontImageButton
android:id="@+id/sButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/wButton"
android:layout_toRightOf="@+id/aButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="s" />
<com.example.classes.FontImageButton
android:id="@+id/dButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/eButton"
android:layout_toRightOf="@+id/sButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="d" />
<com.example.classes.FontImageButton
android:id="@+id/fButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/rButton"
android:layout_toRightOf="@+id/dButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="f" />
<com.example.classes.FontImageButton
android:id="@+id/gButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tButton"
android:layout_toRightOf="@+id/fButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="g" />
<com.example.classes.FontImageButton
android:id="@+id/hButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/zButton"
android:layout_toRightOf="@+id/gButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="h" />
<com.example.classes.FontImageButton
android:id="@+id/jButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/uButton"
android:layout_toRightOf="@+id/hButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="j" />
<com.example.classes.FontImageButton
android:id="@+id/kButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/iButton"
android:layout_toRightOf="@+id/jButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="k" />
<com.example.classes.FontImageButton
android:id="@+id/lButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/iButton"
android:layout_toRightOf="@+id/kButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="l" />
<com.example.classes.FontImageButton
android:id="@+id/yButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/sButton"
android:textSize="18sp"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="y" />
<com.example.classes.FontImageButton
android:id="@+id/xButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_below="@+id/dButton"
android:layout_toRightOf="@+id/yButton"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="x" />
<com.example.classes.FontImageButton
android:id="@+id/cButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_below="@+id/fButton"
android:layout_toRightOf="@+id/xButton"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="c" />
<com.example.classes.FontImageButton
android:id="@+id/vButton"
style="@style/button"
android:layout_width="wrap_content"
android:textSize="18sp"
android:layout_height="wrap_content"
android:layout_below="@+id/gButton"
android:layout_toRightOf="@+id/cButton"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="v" />
<com.example.classes.FontImageButton
android:id="@+id/bButton"
style="@style/button"
android:layout_width="wrap_content"
android:textSize="18sp"
android:layout_height="wrap_content"
android:layout_below="@+id/hButton"
android:layout_toRightOf="@+id/vButton"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="b" />
<com.example.classes.FontImageButton
android:id="@+id/nButton"
style="@style/button"
android:layout_width="wrap_content"
android:textSize="18sp"
android:layout_height="wrap_content"
android:layout_below="@+id/jButton"
android:layout_toRightOf="@+id/bButton"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="n" />
<com.example.classes.FontImageButton
android:id="@+id/mButton"
style="@style/button"
android:layout_width="wrap_content"
android:textSize="18sp"
android:layout_height="wrap_content"
android:layout_below="@+id/kButton"
android:layout_toRightOf="@+id/nButton"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="m" />
<com.example.classes.FontImageButton
android:id="@+id/backspaceButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/lButton"
android:layout_below="@+id/pButton"
android:minHeight="0dp"
android:minWidth="0dp"
android:text="" />
<com.example.classes.FontImageButton
android:id="@+id/enterButton"
style="@style/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/kButton"
android:layout_marginRight="2dp"
android:text="" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
我是否需要为键盘按钮提供新的设计?
编辑:
http://pastebin.com/Tx2QjA7E我已添加为DerGolem建议,但没有更改。
EDIT1:
http://pastebin.com/kyAk18BK - FontImageButton类
答案 0 :(得分:0)
最后,我决定不为此目的使用xml,并且我以编程方式检查了分辨率并相应地调整了FontImageButton的layout_width,解决了我的问题。