2011-01-12 9 views
1

Androidにはデバイスによってさまざまなテーマがあります。たとえば、私のHTC WildFireでは、ハイライトカラーは「ライムグリーン」で、エミュレータの色はオレンジです。特定のAndroid携帯の色を知る方法

私のアプリが実行されているデバイスの主要なインターフェイスの色は何ですか?

デバイスのテーマに合わせて背景色を設定することができます(たとえば、TextView)。

EDIT:あなたは私に言いました、これはとても不可能です...

は、ハイライトカラーとシンプルな四角形を描画する方法はありますか?たぶんボイドボタン?

ありがとうございます!

答えて

1

実際に指定された色ではなく、HTC、サムスンなどが出したこれらの変更されたAndroidスキンでドロアブル自体が実際に置き換えられます。プログラム的には、カラースキームが何であるかを知る直接的な方法はありません。あなたの最善の策は、あなたのウィジェットのための独自のドロウアブルを独自のカラースキームで簡単に定義することです。あるいはAndroidのストックからデフォルトを再利用することもできますが、アプリケーションのドロウアブルフォルダにコピーしてStateListDrawableに設定し、ウィジェット。これにより、すべてのプラットフォームで同じ色のスタイルが得られるようになります。ただし、アプリが残りのスキームと一致しないという欠点があります。あなたのアプリのレイアウトによっては、それは問題ではないでしょう。

+0

はい、これは良い解決策です...私は私のアプリがデバイステーマで表示することを好む。 – Abramodj

1

デフォルトのハイライトの色を取得する方法はありませんが、レイアウト内のTextViewで "textColorHighlight =#aarrggbb"属性を使用して自分で設定することはできます。

+0

EditTextの周りの輝きのような周囲の「オーラ」の属性もありますか?または、これらのすべての属性を見つけることができるリスト/サイトがありますか? – Galip

+0

これは面白い、ありがとう!私はGalipの質問を引用します – Abramodj

+0

私は私の質問に対する答えを見つけました:あなたはできません。 edittextの周囲のグローは、EditTextの背景の一部です。ですから、SDKやPhotoshopなどでdrawableを見つけなければなりません。何か他の色でオレンジ色の部分を変更する必要があります。 – Galip

0

私が知る限り、方法はありません(実際にはどうなるかはわかりません)。私はあなたのアプリケーションにいくつかの異なる "テーマ"を持ち、ユーザーが1つを選んで残りの設定に簡単に少なくともatleast一致するようにすることができたと思います。

0

あなたの意見に@android:drawable/list_selector_background(またはコードフォーム:android.R.drawable.list_selector_background)を使用することができます。これには、デフォルトセレクタ状態のそれぞれがあります。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
     android:drawable="@android:drawable/list_selector_background" /> <!-- pressed --> 
     <item android:state_focused="true" 
     android:drawable="@android:drawable/list_selector_background" /> <!-- focused --> 
    <item android:drawable="@android:drawable/list_selector_background" /> <!-- default --> 
</selector> 

そして、あなたがカスタマイズしたい場合がありますもののいずれかを変更:あなたはまた、(default_highlight.xmlのようなものをという名前の)このような描画可能なフォルダにセレクタを自分で作成することができます。次に、ビューの背景をその(default_highlightなど)に設定することで、描画可能のように使います。

+0

私が理解してもらえれば、あなたは私自身のインターフェースを構築し、これらのパラメータを変更するように指示しています。私は正しい? – Abramodj

+0

インターフェイスは必要ありません。私が例を示したXMLファイルを作成した場合、そのビューのバックグラウンドのdrawableとして(イメージと同じように)直接使用することができます。 –

関連する問題