Как переопределить (или скрыть) атрибуты стиля, определенные в проекте библиотеки Android?

У меня есть набор подобных приложений. Я извлек общие ресурсы и код в проект библиотеки, и приложения просто переопределили то, что им нужно. В моей библиотеке указан следующий стиль:

<style name="ListItemText"> <item name="android:layout_toRightOf">@id/preview_image</item> <item name="android:textStyle">bold</item> <item name="android:textSize">@dimen/previewTextSize</item> </style> 

Как видите, он содержит атрибут android:layout_toRightOf поскольку этот стиль будет применен к тексту в строке ListView, который должен отображаться справа от изображения в этой строке.
Однако в одном из моих приложений я хотел бы отобразить текст под изображением. Как стиль ListItemText в этом приложении должен быть определен для переопределения android:layout_toRightOf атрибута android:layout_toRightOf и заменить его на android:layout_below ?

Если я определяю его как:

 <style name="ListItemText"> <item name="android:layout_below">@id/preview_image</item> </style> 

Он отображает текст справа и ниже изображения, эффективно суммируя атрибуты из XML и XML-стилей стилей приложений.

Ps: Одно из возможных решений моей проблемы – избавиться от android:layout_toRightOf в стилях и переместить их в макет xml. Затем в целевом приложении этот макет можно переопределить / переопределить. Но я ищу решение на основе стилей, поскольку оно может обеспечить более простой и простой способ переопределения атрибутов.
(Я также могу использовать унаследованный стиль с parent атрибутом, но это снова потребует переопределения макета в приложении, которое я стараюсь избегать).

Solutions Collecting From Web of "Как переопределить (или скрыть) атрибуты стиля, определенные в проекте библиотеки Android?"

Чтобы отключить android:layout_toRightOf , вы можете установить его на @null . Если ваше приложение определяет стиль ListItemText следующим образом, оно должно работать так, как вы хотите:

 <style name="ListItemText"> <item name="android:layout_toRightOf">@null</item> <item name="android:layout_below">@id/preview_image</item> </style> 

Вы можете использовать «родительский», чтобы получить специализированный стиль (см. http://developer.android.com/guide/topics/ui/themes.html ), но определение макетов, подобных этому, со стилями не влияет на меня как способ Вырезать эту проблему. Это нормально оставить некоторые сведения о макете в файлах макета.