Holo.Light
テーマをサポートしているデバイスではそのテーマを使用し、他のデバイスでは通常のテーマにフォールバックしたいと考えてLight
います。
現時点では、参照Holo.Light
は 3.0 以降で正常に機能しますが、古い API はデフォルトの「ダーク」テーマに戻るだけです。スタイルの継承で目的を達成できますか?
Holo.Light
テーマをサポートしているデバイスではそのテーマを使用し、他のデバイスでは通常のテーマにフォールバックしたいと考えてLight
います。
現時点では、参照Holo.Light
は 3.0 以降で正常に機能しますが、古い API はデフォルトの「ダーク」テーマに戻るだけです。スタイルの継承で目的を達成できますか?
カスタム テーマを作成していくつかのディレクトリに保存し、最終的にこのテーマをアプリのデフォルトのテーマとして設定する必要があります
まず、次のように値に themes.xml を追加します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Any customizations for your app running on pre-3.0 devices here -->
</style>
</resources>
次に、res ディレクトリに「values-v11」(Android 3.0 以降) という名前のディレクトリを作成し、themes.xml を次のように配置します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
<!-- Any customizations for your app running on 3.0+ devices here -->
</style>
</resources>
最後に、res ディレクトリに「values-v14」(Android 4.0 以降) という名前のディレクトリを作成し、themes.xml を作成します。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
<!-- Any customizations for your app running on 4.0+ devices here -->
</style>
</resources>
DeviceDefault を使用すると、Android 4 用に作成されたカスタム テーマを追加する会社 (HTC Samsung ...) のどのデバイスでも、アプリは常に完璧に見えます。
編集: Samsung のインターフェイス (TouchWiz) はこの機能を尊重せず、Samsung のデバイスではアプリが非常に醜いものになります。ホロのテーマを入れたほうがいいです:(
最後に manifest.xml に
<application
...
android:theme="@style/MyAppTheme">
次のように、背景を白に設定してから、他のすべてのウィジェットを黒にすることもできます。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
**android:background="#ffffff"
android:orientation="vertical" >
<TextView
android:id="@+id/tvText"
android:text="@string/text"
**android:textColor="#000000"
android:textSize="12dp" />