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

但是我有另一个具有相同9patch背景(menuBtn)的布局,并且不会扩展,所以我不确定是什么使9patch在该布局上出现异常。

SS:


<?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>


9补丁img:

最佳答案

想通了,这是一个奇怪的错误吗?无论如何,在较小的屏幕尺寸上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>


该代码有效,是的...

关于android - 9-patch 缩小问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12925262/

10-10 08:49