我遇到了9patch图像的问题。布局设置为50dp,背景为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>
9patch img:
答案 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>
此代码有效,所以是的......