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

本文共 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

你可能感兴趣的文章
HDU 1856
查看>>
课堂作业01--架构师的职责
查看>>
iOS计算富文本(NSMutableAttributedString)高度
查看>>
2017/09/15 ( 框架2)
查看>>
Centos下源码安装git
查看>>
gulp-rev-append md5版本号
查看>>
IO流之File类
查看>>
sql 基础语句
查看>>
CF717A Festival Organization(第一类斯特林数,斐波那契数列)
查看>>
oracle直接读写ms sqlserver数据库(二)配置透明网关
查看>>
控件发布:div2dropdownlist(div模拟dropdownlist控件)
查看>>
Oracle composite index column ordering
查看>>
ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表
查看>>
kaggle竞赛
查看>>
区块链入门教程
查看>>
域 搭建OU 组织单元
查看>>
npm常用命令
查看>>
南海区行政审批管理系统接口规范v0.3(规划)4.2.【queryExpireList】当天到期业务查询...
查看>>
[置顶] 细说Cookies
查看>>
[wp7软件]wp7~~新闻资讯,阅读软件下载大全! 集合贴~~~
查看>>