我有一个具有9补丁背景图像的RelativeLayout。图像是一个简单的语音气泡,底部中间有一个完美居中的“箭头”。
RelativeLayout被夸大并放置在MapView上。使用模拟器,可以轻松地将语音气泡指向某个位置,并将其扩展到其内容(文本,图像或两者)。但是,当我在手机上运行我的应用程序时,9补丁无法正常伸展。语音气泡的“箭头”将向左偏移一个非常明显的数量。
我主要测试的是Nexus S,还有三星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>
答案 0 :(得分:18)
如果您测试不同的密度,请确保您有mdpi和hdpi版本。例如,如果您将9patch放在res / drawable /中,它将被视为mdpi资产并在hdpi设备(Nexus S)上自动放大。因为这是一个自动过程,所以不能保证结果。