2017-07-27 26 views
1

アンドロイドウェアアプリを作成しており、そのプライマリカラーを設定しようとしています。モバイルアプリと同じようにテーマを作成して設定します。すべての属性は、原色を除いて正しく変更されます。これは、アンドロイドが使用するデフォルトのティール色です。私はコンパニオンアプリで同じテーマを使用しており、そこで動作します。磨耗の仕方が違っていますか?この設定を上書きできるものはありますか?Android Wearアプリのプライマリカラーを設定する

親テーマをマテリアルまたはCompact.appに変更しようとしました。

Androidのマニフェスト:

<application 
    android:name="com.turndapage.navmedia.App" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.Nav"> 

のstyles.xml

<resources> 
<style name="Theme.Nav" parent="@android:style/Theme.DeviceDefault"> 
    <!-- your app branding color for the app bar --> 
    <item name="colorPrimary">@color/primary</item> 
    <!-- darker variant for the status bar and contextual app bars --> 
    <item name="colorPrimaryDark">@color/primary_dark</item> 
    <!-- theme UI controls like checkboxes and text fields --> 
    <item name="colorAccent">@color/accent</item> 
    <item name="android:colorForeground">@color/primary</item> 
    <item name="android:colorBackground">@color/Viewport_Background</item> 
</style> 

colors.xml

<resources> 
<color name="primary">#8c6354</color> 
<color name="Viewport_Background">#4d362e</color> 
<color name="primary_dark">#66483d</color> 
<color name="Action">#a67563</color> 
<color name="accent">#a1887f</color> 
<color name="Background_Shaded">#000000</color> 
<color name="background">#000000</color> 
<color name="digital_text">#ffffff</color> 

答えて

0

あなたはandroid:接頭語バージョンを使用する必要があります。

<style name="Theme.Nav" parent="@android:style/Theme.DeviceDefault"> 
    <!-- your app branding color for the app bar --> 
    <item name="android:colorPrimary">@color/primary</item> 
    <!-- darker variant for the status bar and contextual app bars --> 
    <item name="android:colorPrimaryDark">@color/primary_dark</item> 
    <!-- theme UI controls like checkboxes and text fields --> 
    <item name="android:colorAccent">@color/accent</item> 
    <item name="android:colorForeground">@color/primary</item> 
    <item name="android:colorBackground">@color/Viewport_Background</item> 
</style> 

非名前空間verisonsは(Theme.DeviceDefaultがWear端末でのTheme.Material拡張)必要に応じて、またはAndroid Wear上で使用されていないAPPCOMPAT、によって使用されています。

colorPrimaryはデフォルトでは使用されないため、ビューの背景などを手動で参照する必要があります(?android:attr/colorPrimary)。

this postのようにストリーム内の通知の背景色を変更することはできませんが、ユーザーが通知をタップするとnotification colorが使用されます(コンテンツの意図が設定されていないと仮定した場合、彼らはあなたのアプリに入るだろう)。

+0

私はあなたの例を試しましたが、私は違いを見ませんでした。私も 'parent =" @ android:style/Theme.Material "'を使ってみましたが、どちらもうまくいきませんでした。すべての色はcolorPrimaryが動作しています。 –

+0

'colorPrimary'はビルドされたウィジェットには表示されませんが、'?android:attr/colorPrimary'を使って自分の使い方で利用できることは確かです。あなたはどこにそれが現れると期待していましたか? – ianhanniballake

+0

私はAndroid Developersページを探しています。 https://developer.android.com/training/material/theme.htmlドキュメントによれば、それはツールバーに表示されるはずです。モバイル版ではそうです。私は通知の色を変更することに主に関心を持っています。これは、私のアプリケーションを一目で識別することになっているからです。私が望むなら、私は手動でUIの任意の部分を設定することができますが、私はそれがアクションの引き出しに影響するはずだと仮定していますが、そうではありません。 –

関連する問題