我创建了以下样式:
<style name="wrap_content">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
我想创建一个使用此样式的第二种样式。我知道我可以做到以下几点:
<style name="cycle_radio_button" parent="wrap_content">
<item name="android:layout_marginStart">1dp</item>
<item name="android:layout_marginEnd">1dp</item>
</style>
但有没有办法做以下事情:
<style name="cycle_radio_button">
<item name="android:layout_marginStart">1dp</item>
<item name="android:layout_marginEnd">1dp</item>
<item name="style">@style/wrap_content</item>
</style>
如果可以的话,基于我定义的其他多种样式创建样式会更容易和更清晰,而不必创建一系列继承样式。
答案 0 :(得分:2)
您无法从Android中的多个xml样式继承。最接近的是继承特定类型视图的样式。例如:
<style name="style1" parent="Theme.AppCompat.Light">
<item name="android:listViewStyle">@style/wrap_content</item>
<item name="android:mapViewStyle">@style/AppTheme</item>
</style>
现在,任何继承自“style1”的列表视图或地图视图都将继承“wrap_content”中的样式。
name="android:listViewStyle"
之类的属性仅适用于特定的视图类型,因此这不会完全符合您的要求。