8

我有一个具有 9-patch 背景图像的 RelativeLayout。图像是一个简单的对话气泡,底部中间有一个完全居中的“箭头”。会话框

RelativeLayout 被膨胀并放置在 MapView 上。使用模拟器,语音气泡可以很容易地指向一个位置,并将扩展到其内容(文本、图像或两者)。但是,当我在手机上运行我的应用程序时,9-patch 无法正确拉伸。对话气泡的“箭头”将向左偏移一个非常明显的量。

我主要在 Nexus S 上进行测试,但也在 Samsung Captivate 和 Nexus One 上进行测试。以 SDK 7 为目标。针对 SDK 7+ 的经过测试的模拟器。只有硬件设备似乎有这个问题。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_height="wrap_content"
                android:id="@+id/BubbleLayout"
                android:background="@drawable/bubble"
                android:layout_width="wrap_content"
                android:gravity="center_horizontal">
    <TextView android:layout_height="wrap_content"
              android:id="@+id/date"
              android:layout_width="wrap_content"
              android:maxWidth="196dp"></TextView>
    <TextView android:layout_below="@+id/date"
              android:layout_height="wrap_content" 
              android:layout_width="wrap_content"
              android:maxWidth="196dp"
              android:id="@+id/summary"></TextView>
</RelativeLayout>
4

1 回答 1

18

如果您在不同的密度上进行测试,请确保您有一个 mdpi 和一个 hdpi 版本。例如,如果您将 9patch 放在 res/drawable/ 中,它将被视为 mdpi 资产并在 hdpi 设备 (Nexus S) 上自动扩展。因为它是一个自动过程,所以不能保证结果。

于 2011-02-23T21:01:55.500 回答