I'm having quite a lot of problems with supporting different screen size at the moment, but this is frustrating. I am writing a game and am in the last phase. I have designed a custom keyboard and adjusted it to fit different screens, but I'm currently having problems with higher resolution, taller screens(e.g 540x960, 720x1280). Resources have been provided for every dp.
This is what happens on these screens:
On 540x960
This is my layout:
<?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>
Do I need to provide a new design for the keyboard button?
EDIT:
http://pastebin.com/Tx2QjA7E I have added as DerGolem suggested, but no changes.
EDIT1:
http://pastebin.com/kyAk18BK - FontImageButton class
In the end, I have decided to not use xml for this purpose, and I programmatically checked the resolution and resized the layout_width of the FontImageButton accordingly, solving my problem.