Android-调整图像以适应不同的屏幕尺寸
我目前有一个带有图像的 imageview
。它在我的 2.7 英寸测试屏幕上看起来很完美,但是,当我在 4.3 英寸屏幕上测试它时,图像不在应有的位置。我将高度设置为 dp,并且我的图像文件位于 hdpi、mdpi 和 Ldpi 文件夹中。我做错了什么吗?或者更确切地说,是否有某种方法可以锁定图像的位置,以便它在所有手机尺寸中以相同的方式显示? 谢谢。
不适应各种屏幕尺寸的imageview
是第一个imageview
(id = sdrbg) 这是我的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical">
<ImageView android:layout_width="wrap_content"
android:layout_alignParentTop="true" android:id="@+id/sdrbg"
android:background="@drawable/sdrmaingraphic" android:layout_height="289dp"></ImageView>
<ImageView android:id="@+id/canvasBOM"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="false" android:layout_width="fill_parent"
android:background="@drawable/canvas" android:layout_height="100dp">
</ImageView>
<Button android:layout_alignParentBottom="true"
android:id="@+id/playpausebuttonBOM" android:background="@drawable/main_pause_button"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_marginLeft="10dp"></Button>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/nextbuttonBOM"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true" android:background="@drawable/next_song_button"
android:layout_marginRight="10dp"></Button>
<TextView android:id="@+id/textView1" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:text="Best of May 2011"
android:textSize="20dp" android:textStyle="bold"
android:layout_centerHorizontal="true" android:layout_centerVertical="false"></TextView>
</RelativeLayout>
I currently have an imageview
with an image. It looks perfect on my 2.7" test screen, however, when I test it on my 4.3" screen, the image is not where it should be. I am setting the height to have dp
and I have my image file in hdpi, mdpi, and Ldpi folders. Am I doing something wrong? Or rather, is there some way to lock the place of the image so that it displays the same way in all phone sizes?
Thanks.
The imageview
that is not adjusting to various screen sizes is the first imageview
(id = sdrbg)
here's my layout file:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical">
<ImageView android:layout_width="wrap_content"
android:layout_alignParentTop="true" android:id="@+id/sdrbg"
android:background="@drawable/sdrmaingraphic" android:layout_height="289dp"></ImageView>
<ImageView android:id="@+id/canvasBOM"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="false" android:layout_width="fill_parent"
android:background="@drawable/canvas" android:layout_height="100dp">
</ImageView>
<Button android:layout_alignParentBottom="true"
android:id="@+id/playpausebuttonBOM" android:background="@drawable/main_pause_button"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_marginLeft="10dp"></Button>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/nextbuttonBOM"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true" android:background="@drawable/next_song_button"
android:layout_marginRight="10dp"></Button>
<TextView android:id="@+id/textView1" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:text="Best of May 2011"
android:textSize="20dp" android:textStyle="bold"
android:layout_centerHorizontal="true" android:layout_centerVertical="false"></TextView>
</RelativeLayout>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
wrap_content
和RelativeLayout 功能来指定高度,而不是指定高度。例如:android:layout_alignParentTop="true" android:layout_alignBottom="@id/playPauseButtomBOM"
和android:layout_marginBottom="xxdp"
Instead of specifying the height use
wrap_content
and RelativeLayout features to specify height. For example:android:layout_alignParentTop="true" android:layout_alignBottom="@id/playPauseButtomBOM"
andandroid:layout_marginBottom="xxdp"
我认为问题出在
android:layout_height="289dp"
,尽量不要控制高度
,并使用padding 代替
i think the problem is in
android:layout_height="289dp"
, try not to control theheight
, and usepadding
instead