9

Hello I have created a navigation drawer with ListView navigation using ActionBar Sherlock and android support Library v4 for old version compatbility (my app's minSdkversion="8") in which I have used some attributes for textview in ListView:

<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"/>

This is showing error as ?android:attr/activatedBackgroundIndicator is from API 11 and ?android:attr/textAppearanceListItemSmall & ?android:attr/listPreferredItemHeightSmall are from API 14.

I managed to support ?android:attr/activatedBackgroundIndicator by replacing it with actionBar Sherlock's ?attr/activatedBackgroundIndicator. But I didn't find any equivalence for other two attributes. There is ?attr/textAppearanceListItemSmall in actionBar Sherlock but it is not properly working.

So what are the equivalence for these attributes to provide support all the API above 2.1 ?

Ali
  • 9,800
  • 19
  • 72
  • 152
Kaidul
  • 15,409
  • 15
  • 81
  • 150

2 Answers2

31

To support lower versions, instead of removing the following three parameters,

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

You can actually replace them with equivalent values/resources.

The equivalent values can be obtained from https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/themes.xml

Now,

ElOjcar
  • 301
  • 2
  • 4
  • 12
yajnesh
  • 2,089
  • 1
  • 23
  • 36
2

I am not sure if you really need to use android dimensions (like listPreferredItemHeightSmall etc.) In some android version can that dimension be 12 and in other 14. I suggest you to create your own dimension, which will be used in your whole app, and you can easily edit them when change is needed.

Koso
  • 3,200
  • 2
  • 20
  • 22
  • Hello, I have solved it by setting `50dp 18sp` Thanks a lot! :) – Kaidul Jul 13 '13 at 12:02
  • 2
    Also a question.This custom dimension seems perfect. But are these dimensions vary from android standard dimensions? I mean, what are values of android API for this dimensions? – Kaidul Jul 13 '13 at 12:05
  • 1
    You can find those dimensions in android sdk. It doesn't matter if dimensions are different, if your layouts look like you want and you follow android design patterns. – Koso Jul 13 '13 at 19:18