Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 自定義一個theme在不同的sdk環境下繼承不同的值

自定義一個theme在不同的sdk環境下繼承不同的值

編輯:關於Android編程

先說一下自己的一點小心得
可能很多在高版本下編繹apk的同學,可能都曾有和我一樣的困惑,就是如何讓低版本的用戶也能有高版本的體驗呢,比如3.0才能用的holo style.

於是很多人為此求助了很多開源的sdk,比如holo everywhere,sherlockactionbar等等,但是這些庫都很龐大,而且通常添加進去以後,在低版本的機子上也會嚴重影響到應用運行的速度。所以我們為何不想想,我們的出發點是否也是用戶的需求呢?對於這個問題,我女友給了一個否定的答案,她用的是android 2.1她說,她已經習慣2.1那個對話框了,她覺得android對話框本來就是這樣,4.0的一點也不好看,所以可能對於很多2.1~2.3的用戶,holo並不是他們需要和追求的必備品。只要用他們熟悉的控件就好沒必要在自己的軟件中強制的讓他們體驗4.0的風格,否則可能物極必反。而且花心思去自定義原生的alertDialog,真的不如花時間改進其他性能。

所以我覺得正確的做法應該是:不去追求自己應用在所有的Sdk中表現完全一致,而是從用戶的角度,使用他們熟悉的風格。於是才引出了題目中的方法:

技術的部分就相當簡單了
1.更改sdk至3.0及以上
2.在res的values-v11和values裡分別新建一個styles.xml
3.values-v11下添加 <style name="AppTheme" parent="android:Theme.Holo.Light">
4.values下添加 <style name="AppTheme" parent="@android:style/Theme.Light">
5.manifest.xml下的application下添加 android:theme="@style/Theme.GreenDroid.Light" >
其實就是自定義一個theme在不同的sdk環境下繼承不同的值。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved