android學習筆記(6)Activity進階+android:theme學習

來源:互聯網
上載者:User

標籤:android開發   activity儲存狀態   androidtheme   

對應若水老師的第九課

一,儲存activity的狀態

當手機橫屏的時候,系統調用了destroys和recreates,如果沒有儲存activity的狀態,就會丟失使用者的資料.


下面兩片代碼實現儲存activity的狀態:

private EditText txt = null;  //布局中有個輸入框,引用給txtprivate 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" : 平板風格顯示

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

android學習筆記(6)Activity進階+android:theme學習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.