导航抽屉Android API特定的布局属性

时间:2013-07-13 11:20:38

标签: android api layout

您好我使用ActionBar Sherlockandroid support Library v4创建了一个带有ListView导航的导航抽屉,用于旧版本兼容性(我的应用程序的minSdkversion =“8”),其中我在ListView中使用了textview的一些属性:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"
    android:paddingLeft="16dp"
    android:paddingRight="5dp"
    android:textColor="#fff"
    android:background="?android:attr/activatedBackgroundIndicator"
    android:minHeight="?android:attr/listPreferredItemHeightSmall"/>

这显示错误,因为?android:attr/activatedBackgroundIndicator来自API 11和?android:attr/textAppearanceListItemSmall&amp; ?android:attr/listPreferredItemHeightSmall来自API 14.

我设法通过将其替换为actionBar Sherlock的?android:attr/activatedBackgroundIndicator来支持?attr/activatedBackgroundIndicator。但我没有发现其他两个属性的任何等价。在行动棒Sherlock中有?attr/textAppearanceListItemSmall,但它没有正常工作。

那么这些属性的等价性为2.1以上的所有API提供支持?

2 个答案:

答案 0 :(得分:31)

要支持较低版本,而不是删除以下三个参数,

  android:textAppearance="?android:attr/textAppearanceListItemSmall" 
  android:background="?android:attr/activatedBackgroundIndicator"
  android:minHeight="?android:attr/listPreferredItemHeightSmall"

您实际上可以用相同的值/资源替换

可以从中获得等效值 https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/themes.xml

现在,

答案 1 :(得分:2)

我不确定你是否真的需要使用android尺寸(如listPreferredItemHeightSmall等)。在某些Android版本中,该尺寸可以是12而在其他14中。我建议你创建自己的尺寸,这将是在您的整个应用程序中使用,您可以在需要更改时轻松编辑它们。