android【基礎】 style標籤應用與activity間的淡入淡出切換
比如定義一個button,其不同的狀態下用到了一些不同的按鈕狀態的圖片,
在drawable目錄下定義一個button各種狀態時的樣式,button.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/btn_normal" >
</item>
<item android:state_window_focused="false" android:state_enabled="false"
android:drawable="@drawable/btn_normal_disable">
</item>
</selector>
包含此button的佈局檔案中:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/ButtonStyle"
android:text="button"/>
這裡用到了style屬性。假如直接寫
style="@drawable/button"
時,是不能顯示出自定義效果的。
此時,需要在values目錄下,新建attrs.xml。在其中定義:
<resources>
............
<style name="ButtonStyle" >
<item name="android:background">@drawable/button</item>
</style>
............
</resources>
注意item name=”android:background”這裡各個狀態主要是改變其背景色,所以這裡寫的name=”android:background”。在item標籤中載入drawable目錄下的button.xml檔案。這裡
<style name="ListViewStyle" parent="@android:style/Widget.Holo.ListView">
<item name="android:listSelector">@drawable/XXX</item>
<item name="android:background">@color/XXX</item>
<item name="android:divider">@drawable/XXX</item>
</style
與此有關的acitivity切換效果的實現:
由於切換效果與動畫有關,所以在res檔案下建立anim資料夾,裡面放兩個檔案
fade_in.xml:
<?xml version="1.0" encoding="utf-8" ?>
<!--alpha 漸變透明度動畫效果
scale 漸變尺寸伸縮動畫效果
translate 畫面轉換位置移動動畫效果
rotate 畫面轉移旋轉動畫效果-->
<!--Interpolator 被用來修飾動畫效果,定義動畫的變化率,可以使存在的動畫效果accelerated(加速),
decelerated(減速),repeated(重複),bounced(彈跳)等。-->
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toAlpha="1.0"/>
<!--AccelerateDecelerateInterpolator 在動畫開始與結束的地方速率改變比較慢,在中間的時候加速-->
fade_out.xml
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.0"/>
這兩個是動畫資源,實現淡入淡出的效果
接下來寫style,在values檔案下的styles.xml中,編寫:
<!--activity theme 主題切換動畫淡入淡出-->
<style name="Anim_fade" parent="android:Theme.NoTitleBar">
<item name="android:windowAnimationStyle">@style/fade</item>
</style>
<!--activity theme 主題切換動畫淡入淡出-->
<style name="fade" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/fade_in</item>
<item name="android:activityOpenExitAnimation">@anim/fade_out</item>
<item name="android:activityCloseEnterAnimation">@anim/fade_in</item>
<item name="android:activityCloseExitAnimation">@anim/fade_out</item>
</style>
最後一步在AndroidManifest.xml中的Activity的宣告上加入android:theme=”@style/Anim_fade”
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@android:style/Theme.NoTitleBar" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/Anim_fade" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".LoginActivity"
android:label="@string/title_activity_login"
android:theme="@style/Anim_fade">
</activity>
</application>
動效完成。
相關推薦
android【基礎】 style標籤應用與activity間的淡入淡出切換
比如定義一個button,其不同的狀態下用到了一些不同的按鈕狀態的圖片, 在drawable目錄下定義一個button各種狀態時的樣式,button.xml <?xml version="1.0" encoding="utf-8"?> <s
【.NET】table標籤+網頁與css樣式的結合使用
Table table標籤就是建立一個表格,tr代表行,th代表列的表頭,td代表列 <table class="m_table"> <tr>
【問題】如何在Linux與Windows間
實驗環境 Linux LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.4.1708 (Core) Release: 7.4.1708
jQuery效果之隱藏與顯示、淡入淡出、滑動、回撥
1. 隱藏與顯示 通過 jQuery,可以使用 hide() 和 show() 方法來隱藏和顯示 HTML 元素,可以使用 toggle() 方法來切換 hide() 和 show() 方法。 語法: $(selector).hide(speed,callback); $(s
[Android開發] SlidingMenu側滑剩餘的位置新增陰影淡入淡出
一、效果圖 二、修改方法 1. 在SlidingMenu新增一個設定透明度方法 public void setOffsetFadeDegree(float f) { mViewBehind.setOffsetFadeDegr
Android 全仿To圈兒個人資料介面層疊淡入淡出顯示效果
前幾天做的一個仿To圈個人資料介面的實現效果 下面是To圈的效果Gif圖: 做這個東西其實也花了一下午的時間,一開始思路一直沒理清楚,就開始盲目的去做,結果反而事倍功半。 以後要吸取教訓,先詳細思考清楚其中的邏輯關係,然後再開始動手寫程式碼,這樣比較容易理順。 可以看到實
【Android基礎】頁面跳轉與傳值(Activity跳轉與傳值)
一個Android應用程式很少會只有一個Activity物件,如何在多個Activity之間進行跳轉,而且能夠互相傳值是一個很基本的要求。 本次我們就講一下,Android中頁面跳轉以及傳值的幾種方式! Activity跳轉與傳值,主要是通過Intent類來連線多個A
【轉】哈希(Hash)與加密(Encrypt)的基本原理、區別及工程應用
phy 理論 靈活運用 十分 實際應用 廣泛 tle 多網站 net 0、摘要 今天看到吉日嘎拉的一篇關於管理軟件中信息加密和安全的文章,感覺非常有實際意義。文中作者從實踐經驗出發,討論了信息管理軟件中如何通過哈希和加密進行數據保護。但是從文章評論中也可以
【基礎】計算機的存儲單元--01與字的轉化
選址 概念 tro 基礎 word cpu 可選 處理 控制器 什麽是位(bit)、字節(Byte)、字、KB、MB 位(bit):"位"是電子計算機中最小的數據單位,類似於(兩,公斤,克)的概念。每一位的狀態只能是0或1,比如:11010100是一個8位二進制數。
【前端基礎】動態腳本與JSONP
技術 動態生成 查詢 pen 想想 一行代碼 art 構建 dom元素 博主入職兩個月了,越來越感受到打好基礎對於前端工程師的重要性,在向著狂拽酷炫的框架&構建工具狂飈之前,必須有一個堅實的基礎打底,才不至於輕易翻車。所以博主最近一直在惡補《JS高級程序設計》,發現
【基礎】在css中繪制三角形及相關應用
3.1 三角形 分享圖片 繪制 提示框 穩定 核心 包括 邊框顏色 簡言 本文簡要闡述了用CSS邊框的方法在頁面上繪制三角形,包括幾種典型的三角形繪制,還介紹了幾個簡單的應用場景。利用邊框繪制三角形方法只是眾多方案中的一種,大家根據項目實際,選用最適宜項目的方案。 1 基
【TensorFlow】01 TensorFlow簡介與Python基礎
編譯器 n) The 腳本語言 ble rem 時間 完整 快的 TensorFlow簡介與Python基礎 2018.9.10 一、概述 TF使用數據數據流圖進行數值計算,亮點是支持異構設備分布式計算機 常用的ML庫有MXNet Torch/Pytorch Theano
【轉】WEB服務器與應用服務器的區別
由於 .net 然而 cluster scala apache servlet 位置 如何使用 https://blog.csdn.net/liupeng900605/article/details/7661406 一.簡述 WEB服務器與應用服務器的區別: 1
移動端滑屏全應用【三】requestAnimationFrame的相容與使用
首先,傳統做動畫的方式有以下幾種: 1. css的transition過度動畫 2. css的animation動畫 3. 使用setTimeout或setInterval模擬動畫貞(js執行機制決定了並非嚴格意義上的動畫貞) 定時器模擬動畫又分為 :(1)速度版運動 (2)時
【數學基礎】 協方差與協方差矩陣
##常見的統計量 在概率與統計中,最常見的統計量有樣本均值、方差、標準差、極差以及中位數等等。這些都是最基礎、最常見的統計量。 均值: Xˉ=1n∑i=1nXi\bar{X}=\frac{1}{n}\sum_{i=1}^{n}X_{i}
【分散式基礎】7.cap原則與base理論
1.CAP原則 C:一致性(Consistency): 所有節點上的資料,時刻保持一致 A:可用性(Availability):每個請求都能夠收到一個響應,無論響應成功或者失敗 P:分割槽容錯 (Partition-tolerance):表示系統出現腦裂以後,
【前端】form標籤與table標籤混合使用注意事項
寫前端時發現一個坑點,記錄一下...form表單不能放在table和tr之間,否則提交內容就會很奇怪。也就是說,table,tr,td這三組標籤之間不能加入其它標籤,否則效果就會很奇怪,博主在使用jQuery進行$("#form").serialize()獲取表單內容時,由於form標籤夾在了t
【Numpy基礎】矩陣陣列相乘與神經網路的實現
# 矩陣乘以陣列 A = np.array([[1,2],[3,4],[5,6]]) A.shape # (3, 2) B = np.array([7,8]) B.shape # (2,) A.dot(B) # array([23, 53, 83]) B這個一維陣列會被當成
【Android 很基礎】異常出現在show和dimiss dialog
在show或dimiss dilalog時會有可能會丟擲以下異常: show時, 1.android.view.WindowManager$BadTokenException: Unable to add window -- token [email protec
【Ionic】Ionic實現iOS與Android端程式碼『熱更新』與Android升級下載功能 ( v1.3.x版本 )
熱更新的好處 通常ionic原始碼可包括(HTML,JavaScript,CSS檔案和其他資源),往常我們必須通過提交程式到應用市場,經過漫長的稽核後才可讓使用者更新,每改動一個小地方都需要重新打新版本。 現在ionic通過使用cordova外掛cordov