1

我正在为我的ListView项目 xml 文件使用 9patch 图像。

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

项目.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>

列表.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>

我正在实现什么

在此处输入图像描述

我需要的 :

在此处输入图像描述

这是我的 9patch 图片

在此处输入图像描述

是否可以在内部强制使用 textview,同时,9patch 图像能够在两侧填充一些 dp 填充来填充屏幕宽度。

提前致谢。

4

1 回答 1

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 可以正确测量组件,从而为其提供正确的尺寸。

于 2012-12-03T07:45:54.957 回答