1. 程式人生 > >android【基礎】 style標籤應用與activity間的淡入淡出切換

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

.NETtable標籤+網頁css樣式的結合使用

Table table標籤就是建立一個表格,tr代表行,th代表列的表頭,td代表列 <table class="m_table"> <tr>

問題如何在LinuxWindows

實驗環境 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 基

TensorFlow01 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

IonicIonic實現iOSAndroid端程式碼『熱更新』Android升級下載功能 ( v1.3.x版本 )

熱更新的好處 通常ionic原始碼可包括(HTML,JavaScript,CSS檔案和其他資源),往常我們必須通過提交程式到應用市場,經過漫長的稽核後才可讓使用者更新,每改動一個小地方都需要重新打新版本。 現在ionic通過使用cordova外掛cordov