我最近尝试对我的 android 应用采用基于样式的方法。但是,我陷入了这个困境。
在我的布局文件中,我最初有这个:
<LinearLayout
android:id="@+id/layout_event_buttons"
style="?android:attr/buttonBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/btn_create_event"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/btn_save"
android:src="@drawable/content_save"
android:text="@string/btn_save" />
</LinearLayout>
在我的styles.xml中,我尝试这样做但没有运气:
<style name="Buttons" parent="?android:attr/buttonBarButtonStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
我已经尝试了上述的不同变体,例如:
?android:buttonBarButtonStyle
?attr:buttonBarButtonStyle
@android:attr/buttonBarButtonStyle
@android:buttonBarButtonStyle
我也试过:
<item name="style">?android:attr/buttonBarButtonStyle</item>
无济于事。
我的应用程序无法编译,因为它找不到 buttonBarButtonStyle 资源。
这就是我应用它的方式。如果我只继承 Holo 等常见主题,我的其他风格就可以正常工作。
<ImageButton
style="@style/Buttons"
android:id="@+id/btn_create_event"
android:contentDescription="@string/btn_save"
android:src="@drawable/content_save"
android:text="@string/btn_save" />