2011-07-22 40 views
2

我有一个PopupWindow,我用我的Activity,一切工作正常,除了包含在PopupWindow内的元素的填充 - 它太大了 - 从字面上占用了大部分的小PopupWindows空间。下面是我用来定义XML的PopupWindowPopupWindow填充 - 太大

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/homescreen_popup_bg_levels"> 
<TextView 
    android:id="@+id/x" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textColor="#FF000000" 
    android:textSize="12dp"> 
</TextView> 
<TextView 
    android:id="@+id/y" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textSize="12dp" 
    android:textColor="#FF000000"> 
</TextView> 
</LinearLayout> 

这里是PopupWindow的截图:

enter image description here

任何想法,为什么文本正在被填补向下和向右这么多?我试过调整XML填充等,但没有运气。

回答

1

想通了。这个问题确实是9补丁映像的填充 - 不包括任何意味着操作系统猜测在哪里允许文本,并将文本推向中心。设置用于背景的9补丁图像的填充元素解决了问题。

哦,还有其他值得注意的地方......当使用级别列表时,看起来Android仅查看加载的第一个图像的填充,然后将其应用于每个图像。因为我使用的是包含四个不对称图像的水平(向左上角,右下角,左下角,右上角),所有图像都获得了相同的填充像素像素,就像第一个那样被加载。

为了解决这个问题,我现在只是简单地设置背景图片而不是改变等级。

0

我猜你的问题是homescreen_popup_bg_levels可绘制。

尝试删除它,看看会发生什么。如果这是问题,请创建一个正确的9修补程序。

+0

嗯,你上面看到的图像是9补丁没有填充,只是在中间左侧,中间顶部的一个点来伸展。有四个图层(左上角,右上角,左下角,右下角的方向,并且所有图像在9补丁和没有填充框方面是相同的。也许我需要定义一个? –