2012-04-14 12 views
50

私はAndroidを学んでいますが、これまで機能性に重点を置いていましたが、今はレイアウトを使い始めています。Android - すべての画面の背景色を設定する方法は?

フォントと色のスタイルを維持するためのベストプラクティスは何ですか?私はボタンのような別々の要素で色を変更するために使用していたcolors.xmlファイルを作成しましたが、Androidがどのように開発者にスタイルを整理させたいのか分かりません。

たとえば、すべての画面の背景色を同じにしたいとします。それ、どうやったら出来るの?各アクティビティレイアウトxmlに指定する必要がありますか?それとも他の場所?私はそれをどのように達成するのですか?

ありがとうございます!

+0

の下で見ることができるように、あなたは[スタイル](http://developer.android.com/guide/topics/ui/themes.html)を作成し、UI要素に適用します – zapl

+0

@それは私がやっていたことです。私が思っていたのは、画面全体にスタイルを適用する方法でした。すべての画面の背景色と同じですか? – GeekedOut

+0

あなたはいずれかの最上部のLinearLayout(またはあなたが使用しているもの)にいくつかの背景テーマを適用することも、[あなたの活動のテーマ](http://developer.android.com/guide/topics/ui/themes)で行うこともできます。 html#ApplyATheme) – zapl

答えて

134

すべてのアクティビティが同じ背景色を持つことを確認する簡単で簡単な方法は、使用するアクティビティのテーマを作成することです。そのテーマはandroid:windowBackgroundを指定します。

まず値の色を定義/ colors.xml

<resources> 
    <color name="background">#FF0000 </color> 
</resources> 

その色参照のres /値のthemes.xmlファイルを作成します。で、その後

<resources> 
<style name="MyTheme" parent="@android:style/Theme.Light"> 
    <item name="android:windowBackground">@color/background</item> 
</style> 
</resources> 

を...そしてあなたAndroidManifest.xmlは、これを使用するアクティビティのテーマとして指定します。

<activity 
     android:name=".MyActivity" 
     android:theme="@style/MyTheme" /> 
+3

このコードをthemes.xmlに実装するとエラーが発生します。ここでは16進数のカラーコードは認識されません。 ​​#FF0000

+7

@それで、それを参照してください。​​ @ color/my_background

+1

これは正しい答えではありません。 ChrisのコメントNPike –

5

またのAndroidManifest.xmlに

<application 
    ... 
    android:theme="@style/MyTheme"> 

(注:私はできない、これを受け入れ答えのコメントとして私の評判が低すぎるとして)アプリケーションレベルで背景を設定することができます。

17

アンドロイドスタジオを1.4にアップデートすると、テーマエディタが組み込まれています。あなたがイメージ

enter image description here

+1

と一致するように答えを修正してください。Android 2.1プレビューバージョン –

+0

open styles.xmlファイルでTheme Editirを開くには、右上にあるエディタのテキストが開きます。 –

+0

しかし、私の場合は、問題を解決し、アンドロイドスタジオを再起動すると解決します。 –

関連する問題