在程序设计中,有时候要更好程序主题,一般有两种方式,一种是用setTheme函数来指定样式,另外一种是在AndroidManifest.xml中直接指定。要更改主题,我们一般都用setTheme函数。

这个地方我们就说说setTheme函数,在网上也看了说setTheme必须放在onCreate之前执行,后面执行是无效的,看了下资料说是:设置基础主题上下文,被称为视图实例化之前的上下文。那就放在onCreate前执行吧:

看下代码:

@Override    public void onCreate(Bundle savedInstanceState) {          this.setTheme(R.style.Default);           super.onCreate(savedInstanceState);        setContentView(R.layout.main);           }
我们看下main.xml代码:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    > <ImageView android:id="@+id/myImageView"   android:layout_width="fill_parent"       android:layout_height="wrap_content"  android:layout_marginTop="0dip"  android:gravity="center"    android:src="?image"  android:layout_gravity="center" /></LinearLayout>


看看样式style.xml代码:
<?xml version="1.0" encoding="utf-8"?><resources><!-- 默认风格 --><style name="Default" parent="@android:style/Theme">        <item name="image">@drawable/white</item></style><!-- 夜间模式 --><style name="ThemeNight" parent="@android:style/Theme"><item name="image">@drawable/black</item></style></resources>

要更改主题 我们事件中写上修改样式就ok:

this.setTheme(R.style.ThemeNight);

这只是一个简单的修改主题,后面照猫画虎实现自己想要的东东吧!

更多相关文章

  1. android app中如何获取电源锁保持屏幕常亮
  2. 加速Android(安卓)UI(一):加速ListView
  3. Android(安卓)== 简单的binder通信
  4. Android修改圆形进度条ProgressBar的默认颜色
  5. Android(安卓)HAL的作用及编程实例
  6. android 4.4 Settings分析
  7. 红茶一杯话Binder(ServiceManager篇)
  8. android两端对齐
  9. Android中实现应用切换主题机制

随机推荐

  1. Android太太太太太卷了,累了
  2. Android重力感应实现方式简介
  3. Android(安卓)开发者调查
  4. Android面试6家一线大厂,这个问题是必问!
  5. (转)分析android与java的关系
  6. ios应用比android大,为什么iOS版APP安装
  7. 在android 中使用og4j
  8. Android(安卓)SharedPreferences本地缓存
  9. ❤️烦恼?头疼?不知所措?Android的ANR问题,一剂
  10. Android(安卓)富文本编辑器 - ListItemSp