0

Android1.6以降で作成されたアプリがいくつかあります。問題は、ICSなどの最近のAndroid(デバイスまたはシミュレーター)でこれらのアプリを実行すると、Holoテーマがないことです。

テーマを指定する方法について多くのスレッドを見つけることができますが、今新しいアプリを作成すると、コード行なしで新しいテーマが作成されます。

ICSの新しいホロボタンスタイルや古いグレースタイルのように、すべてのAndroidバージョンにICSテーマを設定するのではなく、ICSにICSテーマを設定するだけです。今、私はすべてのバージョンの灰色のボタンを持っています。

新しい空のプロジェクトを作成し、すべてのファイルをそのプロジェクトにコピーすることはできますが、これを変更するには、どこかに隠された値が必要です。

私のマニフェストには次のようなものがあります。

<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="14" />

古いプロジェクトと新しく作成されたプロジェクトの違いは何ですか?

4

1 に答える 1

4

私が理解しているのは、API バージョンに基づいて、アプリでレガシー (クラシック) テーマと新しい Holo テーマを切り替えたいということです。

まず、values( res/values) フォルダーに新しい xml を作成します。それを呼び出しますstyles.xml。次の行が含まれている必要があります。

<resources>
<style name="AppTheme" parent="@android:style/Theme.Black"/>
</resources> 

res次に、という名前の新しいフォルダーを作成しますvalues-v11。この新しいフォルダーで、別の新しい xml を作成します。また、名前を付けますstyles.xml。このファイルには次の行が含まれている必要があります。

<resources>
<style name="AppTheme" parent="@android:style/Theme.Holo"/>
</resources>

次に、ノードに次の行を含める必要がありますAndroidManifest.xmlApplication

android:theme="@style/AppTheme"

Honeycomb 以上のデバイスでは、Holo テーマを取得し、それ以外の場合は古いクラシック テーマを取得します。これは、ニーズに合わせて簡単に試すことができます。これは、API バージョンに基づいてテーマを切り替える一般的な方法です。

于 2012-12-21T15:25:55.023 に答える