i am developing Android application. In my application I have table layout for creating keyboard imitation. Each letter has own image, for displaying it. For wraping images row to current screen size I use "android:layout_height="wrap_content"" parameter, but it isn't resising images to fit the screen.
Here is cut of my layout:
<TableLayout android:id="@+id/keyBoard"
android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_gravity="center"
android:stretchColumns="*">
<TableRow android:id="@+id/action_buttons"
android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:gravity="center_horizontal"
android:paddingBottom="5px">
<ImageView android:id="@+id/let_q" android:src="@drawable/q"
android:padding="1px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_w" android:src="@drawable/w"
android:padding="3px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_e" android:src="@drawable/e"
android:padding="3px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_r" android:src="@drawable/r"
android:padding="3px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_t" android:src="@drawable/t"
android:padding="3px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_y" android:src="@drawable/y"
android:padding="3px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_u" android:src="@drawable/u"
android:padding="3px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_i" android:src="@drawable/i"
android:padding="3px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_o" android:src="@drawable/o"
android:padding="3px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_p" android:src="@drawable/p"
android:padding="1px" android:layout_gravity="center" />
</TableRow>
<TableRow android:id="@+id/action_buttons"
android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_horizontal" android:paddingBottom="5px">
<ImageView android:id="@+id/let_a" android:src="@drawable/a"
android:padding="5px" />
<ImageView android:id="@+id/let_s" android:src="@drawable/s"
android:padding="5px" />
<ImageView android:id="@+id/let_d" android:src="@drawable/d"
android:padding="5px" />
<ImageView android:id="@+id/let_f" android:src="@drawable/f"
android:padding="5px" />
<ImageView android:id="@+id/let_g" android:src="@drawable/g"
android:padding="5px" />
<ImageView android:id="@+id/let_h" android:src="@drawable/h"
android:padding="5px" />
<ImageView android:id="@+id/let_j" android:src="@drawable/j"
android:padding="5px" />
<ImageView android:id="@+id/let_k" android:src="@drawable/k"
android:pa开发者_运维问答dding="5px" />
<ImageView android:id="@+id/let_l" android:src="@drawable/l"
android:padding="5px" />
</TableRow>
<TableRow android:id="@+id/action_buttons"
android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_horizontal" android:paddingBottom="5px">
<ImageView android:id="@+id/let_z" android:src="@drawable/z"
android:padding="5px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_x" android:src="@drawable/x"
android:padding="5px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_c" android:src="@drawable/c"
android:padding="5px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_v" android:src="@drawable/v"
android:padding="5px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_b" android:src="@drawable/b"
android:padding="5px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_n" android:src="@drawable/n"
android:padding="5px" android:layout_gravity="center" />
<ImageView android:id="@+id/let_m" android:src="@drawable/m"
android:padding="5px" android:layout_gravity="center" />
</TableRow>
</TableLayout>
What I am doing wrong? Because I am getting this result for some phones: Port view:
And for Land view:
It looks like the images you are using are large in size. So,wrap_content doesn't gives you expected result.
You need to resize Alphabets image, Ex. if current Image of Letter Q is 180 X 130 px then resize it to smaller size. Lets say 140 X 80 px.
Try it to your code. If you resize image and apply wrap_content then it will work ! Let me know if any problem exists. Thanks.
My way of creating layouts is providing width and height in 'dip' and not in 'px'.
And also you might have to use Relative Layout which would be handy
精彩评论