EditText框不能在小屏幕上缩放

时间:2010-11-29 08:25:25

标签: android

我有一个问题,我无法在视图中使用EditText框解决。 如果我在eclipse中预览我的任何视图,EditText框在小屏幕和大屏幕中看起来很好,并且看起来像预期的那样按比例缩放。但在小屏幕中,它们在屏幕上的高度看起来更大。它们似乎在宽度上缩放,但在高度上增长,在文本和边框之间留下更多的边距。

xml非常小:

<EditText android:id="@+id/width" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:hint="Slab Width (mm)" 
android:inputType="phone"
>
</EditText>

我原本希望盒子的高度可以缩放以适应屏幕。 我很惊讶它没有高度缩放。 我感到震惊的是身高增大...... ????

小屏幕:http://www.doobox.co.uk/rapidimages/smallscreen.png

编辑:它实际上是QVGA&amp; WQVGA屏幕有这个问题..!

我认为你需要完整的xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/widget36"
android:background="@drawable/linen_bg"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<LinearLayout
android:id="@+id/main_linear"
android:layout_width="fill_parent"
android:orientation="vertical"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:layout_height="wrap_content">
<ImageView
android:id="@+id/logo"
android:background="@drawable/conc_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" 
android:layout_marginTop="15dip"
>
</ImageView>
<TextView android:text="Slab Calculator" 
android:id="@+id/TextView01" 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textSize="20sp" 
android:textColor="#333333" 
android:layout_marginTop="20dip">
</TextView>



<EditText android:id="@+id/length" 
android:layout_width="fill_parent" 
android:inputType="phone" 
android:fitsSystemWindows="true" 
android:hint="Height of Slab (mm)" 
android:layout_height="wrap_content">
</EditText>



<TextView android:text="**.** Cubic Meter's" 
android:id="@+id/slab_result" 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp" 
android:textColor="#333333" 
android:layout_marginTop="5dip">
</TextView>

<TextView android:text="£**.** Total" 
android:id="@+id/slab_cost" 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp" 
android:textColor="#333333" 
android:layout_marginTop="5dip">
</TextView>
</LinearLayout>
<RelativeLayout android:id="@+id/bottom_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="20dip"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
>
<Button
android:id="@+id/calculate_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:drawableTop="@drawable/calculate" 
android:text="Calculate" 
android:background="@android:color/transparent">
</Button>
</RelativeLayout>
</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

尝试为android:padding明确指定EditText,看看是否有帮助。

答案 1 :(得分:0)

好的,可能是你的问题在你的清单中。

应在那里声明对所有屏幕的支持

<supports-screens
   android:largeScreens="true"
   android:normalScreens="true"
   android:smallScreens="true"
   android:anyDensity="true" /> 

另外,SDK Api 4也应该在你的Manifest中声明。首先从1.6

支持小屏幕
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"/>

希望,我没错,