2012-12-03 33 views
1

我正在使用9patch图像作为我的ListView项目xml文件。强制9patch图像以适合宽度,使用填充

但是,图像背景似乎不符合布局宽度。

Item.xml

<?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="wrap_content" 
    android:paddingBottom="10dp" 
    android:paddingTop="4dip" 
    android:orientation="horizontal" 
    android:background="@drawable/lvbg" > 

     <TextView 
    android:id="@+id/tvDate" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:text="Date" 
    android:textAppearance="?android:attr/textAppearanceSmall" /> 

<TextView 
    android:id="@+id/name" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/tvDate" 
    android:gravity="center" 
    android:text="Large Text" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="#31B6E7" /> 

</RelativeLayout> 

List.xml

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#FFFFFF" 
     android:cacheColorHint="#00000000" 
     android:divider="#FFFFFF" 
     android:listSelector="@drawable/list_selector" 
     android:paddingBottom="10dp" 
     android:saveEnabled="true" 
     android:smoothScrollbar="true" /> 

</LinearLayout> 

什么我acheiving

enter image description here

我需要什么:

enter image description here

这是我9patch图像

enter image description here

是否有可能迫使TextView的内部,同时,该9patch图像能够填补一些DP填充屏幕宽度双方。

在此先感谢。

回答

0

这可能与您如何膨胀布局有关。你应该做这样的事情在你的getView()梅索德如下(适配器):

@Override 
public View getView(int position, View convertView, ViewGroup parent) {  
     LayoutInflater Inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = Inflater.inflate(mResourceId, parent, false); 

现在重要的是你使用parent并设置它没有附着(false)。通过这样做,Android可以正确测量组件,从而为它提供正确的尺寸。

相关问题