【发布时间】:2019-03-11 16:30:57
【问题描述】:
我创建了非常简单的视图。我想为我的按钮创建默认布局并通过我在清单文件中添加的 AppTheme 导入它。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="buttonStyle">@style/ButtonStyle</item>
<item name="android:buttonStyle">@style/ButtonStyle</item>
<item name="android:button">@style/ButtonStyle</item>
</style>
<style name="ButtonStyle" >
<item name="android:textSize">20dp</item>
<item name="android:gravity">center</item>
<item name="android:layout_width">150dp</item>
<item name="android:layout_gravity">center</item>
<item name="android:layout_marginTop">10dp</item>
<item name="android:background">@drawable/defaultbutton</item>
</style>
所以我希望我的应用程序中的所有按钮都采用此设置的样式。我可以完成它的唯一方法是使用
在我的按钮中导入样式style="@style/ButtonStyle"
“开始测试”按钮通过内部导入设置样式。
有趣的是,为按钮“设置”和“检查传感器”导入了一些样式(如 drawable/deefaultbutton 或居中文本)
<Button
style="@style/ButtonStyle"
android:id="@+id/test"
android:layout_height="50dp"
android:text="Start Test" />
<Button
android:id="@+id/settings"
android:layout_width="150dp"
android:layout_height="50dp"
android:text="Settings" />
<Button
android:id="@+id/checkSensors"
android:layout_width="150dp"
android:layout_height="50dp"
android:text="Check Sensors" />
我的问题是,为什么会发生这种情况,如果不通过“主题”导入就无法将其设置为默认值?
【问题讨论】:
标签: android android-layout themes android-theme android-styles