2012-03-11 52 views
0

我使用三星Galaxy Y,在我的计划有几个activities.in每次活动有喜欢的EditText,按钮,imagebutton.In所有活动部件多在那里,所有的部件都在我的phone.But所有扭曲都OK使用模拟器。如何解决这个错误。如何在android中删除扭曲的小部件?

我注意到一两件事,我的活动之一包含滚动视图中的小部件,有些部件是在其初始位置确定,有些是确定与特定的位置,而滚动。

这些问题在我的模拟器中不受影响。

一个布局示例。

 <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<LinearLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="right" 
> 
    <ImageButton android:src="@drawable/btclose" 
    android:id="@+id/btclose" 
    android:background="@android:color/transparent" 
    android:layout_width="32px" 
    android:layout_height="32px" 
    > 
    </ImageButton> 
</LinearLayout> 
<LinearLayout 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" 
> 
    <EditText android:id="@+id/txtdisp" 
    android:layout_width="fill_parent" 
    android:layout_height="50px" 
    android:editable="false" 

    > 

    </EditText> 
</LinearLayout> 
<LinearLayout 
android:orientation="horizontal" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:gravity="right" 
> 
    <Button 
    android:id="@+id/btac" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="AC" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btbak" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="bkspc" 
    > 
    </Button> 
</LinearLayout> 
<LinearLayout 
android:orientation="horizontal" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
> 
    <Button 
    android:id="@+id/btnum7" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="7" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btnum8" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="8" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btnum9" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="9" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btdiv" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="/" 
    > 
    </Button> 
</LinearLayout> 
<LinearLayout 
android:orientation="horizontal" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
> 
    <Button 
    android:id="@+id/btnum4" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="4" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btnum5" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="5" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btnum6" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="6" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btmul" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="*" 
    > 
    </Button> 
</LinearLayout> 
<LinearLayout 
android:orientation="horizontal" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
> 
    <Button 
    android:id="@+id/btnum1" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="1" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btnum2" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="2" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btnum3" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="3" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btsub" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="-" 
    > 
    </Button> 
</LinearLayout> 
<LinearLayout 
android:orientation="horizontal" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
> 

    <Button 
    android:id="@+id/btpoint" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="." 
    > 
    </Button> 
    <Button 
    android:id="@+id/btnum0" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="0" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btequel" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="=" 
    > 
    </Button> 
    <Button 
    android:id="@+id/btadd" 
    android:layout_width="80px" 
    android:layout_height="50px" 
    android:text="+" 
    > 
    </Button> 
</LinearLayout> 

分辨率在仿真器内建:WVGA800

enter image description here

enter image description here

+0

能否请你分享的布局,以及在模拟器以及设备上的活动的一些截图的XML代码?也请分享在模拟器上设置的分辨率。 – Soham 2012-03-11 09:12:15

+0

@Soham我只是添加布局和分辨率,我很快就会添加图片。 – 2012-03-11 09:16:27

+0

@Soham,编辑文本的所有角落,并可文本框是distorted.that的问题 – 2012-03-11 09:17:21

回答

1

你可以尝试设置了android:layout_height属性 “WRAP_CONTENT” 或 “FILL_PARENT” 为所有的EditTexts和Buttons?

而且,你现在的样子在不是一个好的做法,在所有硬编码的宽度和高度与像素。如果您必须设置宽度和高度,请使用DP/SP which are mentioned here再次避免将宽度和高度硬编码,并切换到相对布局,这有助于按钮和其他元素更好地彼此对齐。

另外请注意,你的手机是在从上Android模拟器完全不同的分辨率运行,因此很多元素都呈现不同。上面的链接提到了如何构建不同的布局,并包含不同的可绘图以说明不同的分辨率和屏幕密度。

+0

我试图fill_parent/wrap_content而不是硬线的宽度和高度。按钮是小的根据文本和失真是相同的。我认为一些其他问题 – 2012-03-11 16:48:53

+0

任何想法呢? – 2012-03-12 06:35:28

2

我花了几个小时才发现是什么导致了这个问题,但它是AndroidManifest.xml中缺失的<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7" />标签,因为没有正常的原因,三星Galaxy Y的行为就像这个问题中描述的那样!