android学习笔记(6)Activity高级+android:theme学习

一,保存activity的状态

当手机横屏的时候,系统调用了destroys和recreates,如果没有保存activity的状态,就会丢失用户的数据.


下面两片代码实现保存activity的状态:

private EditText txt = null;  //布局中有个输入框,引用给txt
private static final string CONTENT = "content";
txt=(EditText)findViewById(R.id.txt);

protected void onSaveInstanceState(Bundle outState)  //覆写onSaveInstanceState方法,这个方法在程序pause或destroy之前被自动调用.
{
super.onSaveInstanceState(outState);
String content = txt.getText().toString();
outState.putString(CONTENT,content);    //把用户在输入框中输入的字符保存进content,然后就存放在了bundle中了
然后回顾一下熟悉的不能更熟悉的onCreate方法:
public void onCreate(bundle savedInstanceState)//可以看到,这里的bundle参数与onSaveInstanceState中的参数是一个参数,因此在这里只要把bundle取出来,就达到了保存activity状态的目的!!
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if(null!=savedInstanceState&&savedInstanceState.conainsKey(CONTENT))//如果bundle不为空,并且bundle中CONTENTR的内容也不为空
{
txt.setText(savedInstanceState.getString(CONTENT));//把值取出放回输入框
}

二,android:theme
android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式
android:theme="@android:style/Theme.NoTitleBar" : 不显示应用程序标题栏
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" : 不显示应用程序标题栏,并全屏
android:theme="@android:style/Theme.Light ": 背景为白色
android:theme="@android:style/Theme.Light.NoTitleBar" : 白色背景并无标题栏
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" : 白色背景,无标题栏,全屏
android:theme="@android:style/Theme.Black" : 背景黑色
android:theme="@android:style/Theme.Black.NoTitleBar" : 黑色背景并无标题栏
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" : 黑色背景,无标题栏,全屏
android:theme="@android:style/Theme.Wallpaper" : 用系统桌面为应用程序背景
android:theme="@android:style/Theme.Wallpaper.NoTitleBar" : 用系统桌面为应用程序背景,且无标题栏
android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen" : 用系统桌面为应用程序背景,无标题栏,全屏
android:theme="@android:style/Theme.Translucent : 透明背景
android:theme="@android:style/Theme.Translucent.NoTitleBar" : 透明背景并无标题
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" : 透明背景并无标题,全屏
android:theme="@android:style/Theme.Panel": 面板风格显示
android:theme="@android:style/Theme.Light.Panel" : 平板风格显示

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值