Android初级开发第七讲--特效和数据传递处理
博客出自:http://blog.csdn.net/liuxian13183,轉載注明出處! All Rights Reserved !
大家好,相信大家對iphone上的特效早有耳聞,特效不僅給人以炫麗的感覺,也給人以性能優越的感覺;但萬丈高樓平地起,基礎是關鍵,今天就跟大家分享下基本的特效是怎么做成的。
1、點擊效果
跟圖片放在一起,寫成一個xml文件,一個簡單的點前點后的效果如下:
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/bar_bt_active" android:state_pressed="true"/><item android:drawable="@drawable/bar_bt"/></selector>state_pressed代表點擊后,其實還有很多狀態的參數,如focused當前焦點在此控件上,selected選擇的時候等2、當可以用一個頁面顯示多種表現時,可以用到visibility
visibility有三種屬性:
visible可見,并占有空間位置
invisible不可見,并占有空間位置
gone不可見,不占空間位置
如果寫一個郵箱的應用,收件箱、發件箱、垃圾箱功能差不多,只不過按鈕不同,就需要用到這個屬性。
第一隱藏該隱藏的圖片,第二用setImageResource改變圖片背景
3、Animation
安卓自帶了很多動畫事件,如漸漸消失的fade.xml
<alpha xmlns:android="http://schemas.android.com/apk/res/android"android:interpolator="@android:anim/accelerate_interpolator"android:fromAlpha="0.0" android:toAlpha="1.0"android:duration="@android:integer/config_longAnimTime" />可以通過android.R.anim.fade引用push_left_in,從左進入
<set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="300"/><alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" /> </set>這些效果,可以用在activity的加載、窗口的加載等出現消失時4、還有很多自定義的特效,歡迎大家去網上自己找找
開源中國社區:http://www.oschina.net/android/116/
5、數據傳遞處理
方法一、通過intent對象,intent.putExtras(key ,value),然后通過getIntent().getExtras().get(key)獲取value值
方法二、通過sharedPreference,它就像一個寫在本地的小數據包一樣,簡便實用,總共不過六行代碼,但功能強大
SharedPreferences sp=getSharedPreferences(命名緩存對象名,Context.MODE_PRIVATE);sp.getInt(存入對象key, 默認value);Editor editor = sp.edit();editor.putInt(key, value);editor.commit();里面可以放無數個集合,可以只命名一個存儲對象名。方法三、set get方法或者靜態數據構建緩存對象包
方法四、發送消息--廣播
廣播有兩種,一種在manifest.xml中注冊,一種在類中創建。
區別,第一種永生,第二種與當前activity綁定。
第一步:定義一個廣播接收類:
BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver();
第二步:注冊該廣播
registerReceiver(mReceiver, intentFilter);?
第三步:觸發響應
sendBroadcast(mIntent);?
方法五、異步處理--handler
第一步,聲明并實現其內部方法
private Handler mHandler = new Handler(){ ?
public void handleMessage(Message msg) {switch (msg.what) {
case 1: ?//處理方法 ?break; ?}}; }; ?
第二步,發送消息
?Message message = new Message(); ?
?message.what = 1; ?
?mHandler.sendMessage(message);?
有很多時候,兩個activity,或者一個項目,前兩個比較簡單,我們來簡單說下兩個應用之間進行數據共享
1、如上寫緩存SharedPreference
2、將共享數據寫入sqlite或者文本
3、如上,發廣播或者使用Service,這塊作者沒有深入研究。
謝謝!
轉載于:https://www.cnblogs.com/fengju/archive/2012/11/29/6174482.html
總結
以上是生活随笔為你收集整理的Android初级开发第七讲--特效和数据传递处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# mysql varbinary_c
- 下一篇: varbinary mysql,如何在M