【发布时间】:2020-09-15 06:20:17
【问题描述】:
我从下拉菜单中的设计部分更改了主题,例如材质暗、全息等。但是当我在设备上运行应用程序时,应用程序没有显示任何更改,因此我理解代码不会更改所以我需要在样式部分编写什么代码来更改主题?
【问题讨论】:
标签: android android-studio themes app-themes
我从下拉菜单中的设计部分更改了主题,例如材质暗、全息等。但是当我在设备上运行应用程序时,应用程序没有显示任何更改,因此我理解代码不会更改所以我需要在样式部分编写什么代码来更改主题?
【问题讨论】:
标签: android android-studio themes app-themes
AndroidStudio 仅显示您自己以编程方式在应用中应用该主题时的外观。
【讨论】:
在 res/values/styles.xml 你可以添加以下代码来改变主题:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="android:colorPrimary">@color/colorPrimary</item>
<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:colorAccent">@color/colorAccent</item>
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
<item name="android:colorControlActivated">@color/colorPrimaryDark</item>
<item name="android:colorControlHighlight">@color/colorPrimary</item>
<item name="android:colorControlNormal">@color/colorPrimary</item>
<item name="android:windowBackground">@color/colorBackground</item>
</style>
</resources>
你可以通过修改parent属性来改变主题
【讨论】:
您应该编辑应用程序清单并添加
android:theme 属性添加到您想要的主题的应用程序或活动标签中。
【讨论】:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
if(mode.equals("dark")){
setTheme(android.R.style.DarkTheme);
}else if(mode.equals("light")){
setTheme(android.R.style.LightTheme);
}else{
setTheme(android.R.style.AppTheme);
}
}
【讨论】: