Android:忽略填充

时间:2011-08-11 18:13:51

标签: android spinner adapter

我之前已经问过这个问题,但直到现在才知道到底是什么问题。我的问题是我已经制作了一个自定义的微调器/适配器,我将填充设置为5dip,以便在微调器的行中保持适当的间距。问题是当我添加填充时,我必须使旋转器更大以补偿更多的填充。有没有办法可以忽略所选项目的填充。因此,当微调器被折叠时,填充被忽略,当它被展开时,使用填充。

微调器中行的xml:

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

  <TableRow 
    android:id="@+id/tableRow1" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:padding="5dip">

    <ImageView 
      android:layout_width="32sp" 
      android:src="@drawable/icon"
      android:id="@+id/spinnerimage" 
      android:layout_height="32sp" />

    <TextView 
      android:textSize="22sp" 
      android:textStyle="bold" 
      android:textColor="#000"
      android:layout_width="fill_parent" 
      android:id="@+id/category"
      android:layout_height="wrap_content" 
      android:paddingLeft="5sp" />

  </TableRow>

</TableLayout>

和微调器:

        <Spinner 
      android:id="@+id/catspinner"
      android:layout_marginLeft="25dip" 
      android:layout_marginRight="25dip"
      android:layout_width="fill_parent" 
      android:layout_centerHorizontal="true"
      android:layout_height="wrap_content" 
      android:prompt="@string/prompt"
      android:background="@drawable/yellow_btn"
      android:layout_centerVertical="true" 
      android:drawSelectorOnTop="true" />

1 个答案:

答案 0 :(得分:1)

如果您使用的是默认的drawable,则无法按照要求的方式更改填充。

您必须创建自己的9patch drawable并将其包含在您的应用中,以覆盖默认drawable的行为。