9补丁萎缩问题

时间:2012-10-17 00:05:42

标签: android background nine-patch

我遇到了9patch图像的问题。布局设置为50dp,背景为9patch,但在小屏幕上加载时,布局大于50dp。

但是我有另一个具有相同9patch背景(menuBtn)的布局,并且没有扩展,所以我不确定是什么让9patch在这个布局上行为不端。

SS
enter image description here

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:padding="0dp"
    android:background="@drawable/actionbar">
    <RelativeLayout
        android:id="@+id/menuBtn"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="@drawable/actionbar"
        android:clickable="true">
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:src="@drawable/actionbar_menu"/>
    </RelativeLayout>
    <ImageView
        android:id="@+id/div1"
        android:layout_width="1px"
        android:layout_height="50dp"
        android:layout_toRightOf="@id/menuBtn"
        android:src="@drawable/actionbar_divider"/>
</RelativeLayout>

9patch img:
enter image description here

1 个答案:

答案 0 :(得分:3)

想出来,这是一个奇怪的错误?无论如何,9patch在小屏幕尺寸上高于50dp,因此基本背景设置为动作栏,它不会缩放。

但是如果我在主RelativeLayout中嵌入另一个RelativeLayout并将该背景设置为actionbar,那么它可以很好地扩展。不知道为什么原来的RelativeLayout没有。

示例:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:padding="0dp">
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:padding="0dp"
        android:background="@drawable/actionbar">
    </RelativeLayout>
</RelativeLayout>

此代码有效,所以是的......