博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android5.0Demo
阅读量:4540 次
发布时间:2019-06-08

本文共 2590 字,大约阅读时间需要 8 分钟。

  现在一个项目中随处可见Android5.0的足迹,尤其是Material的设计部分,相当漂亮,小白正解开启了5.0的学习,不足之处,请各位大神指点,谢谢!

  这是一个更换主题的小demo,点击按钮时候,可切换至不同的主题(开发工具为AS),直接看代码:

  xml的布局代码就不贴了,因为直接是俩个Button,

1 
2
3 4
14
15
25
26
36

MainActivity.java

1 package com.samsarah.theme5; 2  3 import android.app.Activity; 4 import android.content.Intent; 5 import android.os.Bundle; 6 import android.view.View; 7 import android.widget.Button; 8  9 public class MainActivity extends Activity implements View.OnClickListener {10 11     private Button btn_red;12     private Button btn_pink;13     private Intent intent;14     @Override15     protected void onCreate(Bundle savedInstanceState) {16         super.onCreate(savedInstanceState);17         initView();18     }19 20     /**21      * 初始化界面22      */23     protected void initView(){24         //去掉ActionBar25         //requestWindowFeature(Window.FEATURE_NO_TITLE);26         int themeId = getIntent().getIntExtra("themeId",-1);27         if (themeId != -1){28             setTheme(themeId);29         }30         setContentView(R.layout.activity_main);31         btn_red = (Button) findViewById(R.id.btn_red);32         btn_pink = (Button) findViewById(R.id.btn_pink);33         btn_red.setOnClickListener(this);34         btn_pink.setOnClickListener(this);35     }36 37     @Override38     public void onClick(View view) {39 40         switch (view.getId()){41             case R.id.btn_red:42                 finish();43                 overridePendingTransition(0,0);44                 //因为调用setTheme的时候,会提示必须在setContentView之间,但是第一次就自相矛盾,所以finish()掉之后重启就ok了45                 intent = new Intent(MainActivity.this,MainActivity.class);46                 //告知系统需要更换的主题47                 intent.putExtra("themeId",R.style.AppTheme_Red);48                 //重启49                 startActivity(intent);50                 //点击按钮更换主题样式51 //                setTheme(R.style.AppTheme_Red);52                 break;53             case R.id.btn_pink:54                 finish();55                 overridePendingTransition(0,0);56                 intent = new Intent(MainActivity.this,MainActivity.class);57                 intent.putExtra("themeId", R.style.AppTheme_Pink);58                 startActivity(intent);59 //                setTheme(R.style.AppTheme_Pink);60                 break;61             default:62                 break;63         }64     }65 }

  注意:在开始一个新的主题时候,IDE会提示必须在seiContentView之前,但是初次的话,肯定不可能,自相矛盾,所以finish之后,重启即可,另外切换主题使用setTheme就可。

  代码托管:

 

转载于:https://www.cnblogs.com/SamSarah/p/4946997.html

你可能感兴趣的文章
理工之 A+B Problem III
查看>>
软件工程第一次作业
查看>>
【Android 界面效果24】Intent和PendingIntent的区别
查看>>
node学习之搭建服务器并加装静态资源
查看>>
android 按menu键解锁功能的开关
查看>>
Linux 下的dd命令使用详解
查看>>
POJ-1273 Drainage Ditches 最大流Dinic
查看>>
ASP.NET学习记录点滴
查看>>
[Noip2016] 愤怒的小鸟
查看>>
JAVA wait()和notifyAll()实现线程间通讯
查看>>
python全栈脱产第11天------装饰器
查看>>
[总结]数据结构(板子)
查看>>
C# 笔记
查看>>
[转]人人店短信插件开发
查看>>
[转]c# System.IO.Ports SerialPort Class
查看>>
14. 最长公共前缀
查看>>
Redis文档
查看>>
项目重构
查看>>
(笔试题)和一半的组合数
查看>>
leetcode--Algorithm--Array_Part 1 Easy- 566 Reshape the Matrix
查看>>