Android-调整图像以适应不同的屏幕尺寸

发布于 2024-11-26 10:23:34 字数 2061 浏览 1 评论 0原文

我目前有一个带有图像的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

£冰雨忧蓝° 2024-12-03 10:23:34

使用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" and android:layout_marginBottom="xxdp"

指尖凝香 2024-12-03 10:23:34

认为问题出在android:layout_height="289dp",尽量不要控制高度,并使用padding 代替

i think the problem is in android:layout_height="289dp", try not to control the height, and use padding instead

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文