8

私のアプリは親テーマとしてTheme.Holo.Light.DarkActionBarを使用します。android EditTextは背景に融合します

Android 3.2タブレットエミュレータを使用すると、EditTextシェイプはほとんど見えません。それは白く白を描こうとしているようだ。ここで見て:私は私のアンドロイド4.0のタブレットのエミュレータ上でそれを使用すると、のEditText形状だけで罰金に見える

enter image description here

。 EditTextの下部に濃い灰色の線が表示されます。上の画像を見ると、明るい灰色の背景透かしを横切る同じ場所に白い線がほとんど見えません。ここで

enter image description here

レイアウトで私のEditTextです:

<EditText 
    android:id="@+id/fieldName" 
    style="@style/PlayerDetails.Field" 
    android:capitalize="words" /> 

そして、ここではスタイルです:

<style name="PlayerDetails.Field"> 
    <item name="android:layout_weight">0.65</item> 
    <item name="android:paddingLeft">10dp</item> 
    <item name="android:layout_width">0dp</item> 
    <item name="android:layout_height">fill_parent</item> 
    <item name="android:layout_marginLeft">10dp</item> 
</style> 

私のEditTextが間違った色を描かなっているのはなぜ?私は描画コードや背景drawableをオーバーライドしていません。

+0

こんにちはKenny Wyland、あなたの問題を把握してください。私も同じ問題に直面しています。 –

+0

問題を解明したことはありませんでしたが、私の回避策は.9をコピーすることでした。Ice Cream SandwichからPNGとスタイリングし、HoneycombとIce Cream Sandwich用に私のアプリにハードコードしました。 –

+0

下記のリンクを参照してください http://stackoverflow.com/questions/9224560/how-to-change-the-border-colorun-focused-of-an-edittext?answertab=active#tab-top – DKV

答えて

5

他の回答は実際に私の問題の解決策ではなく、本当に問題を引き起こしていたものは何も分かっていません。しかし、これは私がそれを解決した方法です:私の回避策は、IceCream SandwichからEditTextウィジェットの.9.pngとスタイリングをコピーし、HoneycombとIce Cream Sandwichのために私のアプリにハードコードすることでした。

EDIT:次に

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_multiline="true" android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/textfield_multiline_default_holo_light" /> 
    <item android:state_multiline="true" android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/textfield_multiline_disabled_holo_light" /> 
    <item android:state_multiline="true" android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_multiline_activated_holo_light" /> 
    <item android:state_multiline="true" android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/textfield_multiline_focused_holo_light" /> 
    <item android:state_multiline="true" android:state_enabled="true" android:drawable="@drawable/textfield_multiline_default_holo_light" /> 
    <item android:state_multiline="true" android:state_focused="true" android:drawable="@drawable/textfield_multiline_disabled_focused_holo_light" /> 
    <item android:state_multiline="true" android:drawable="@drawable/textfield_multiline_disabled_holo_light" /> 

    <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/textfield_default_holo_light" /> 
    <item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/textfield_disabled_holo_light" /> 
    <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_activated_holo_light" /> 
    <iten android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/textfield_focused_holo_light" /> 
    <item android:state_enabled="true" android:drawable="@drawable/textfield_default_holo_light" /> 
    <item android:state_focused="true" android:drawable="@drawable/textfield_disabled_focused_holo_light" /> 
    <item android:drawable="@drawable/textfield_disabled_holo_light" /> 
</selector> 

私が設定するために私のstyles.xmlでスタイルを作成:

私は、次のと呼ばれるファイルのres /描画可能nodpi/edit_text_holo_light.xmlを作成

<item name="android:background">@drawable/edit_text_holo_light</item> 

次に、android sdkから.9.pngファイルをコピーし、res/drawable- *に入れました。ファイル名は上記のxmlにリストされています。

+0

同じ問題が発生しました。この問題の修正方法の詳細を教えてください。 – gath

+2

私はアンドロイドのsdkフォルダに入って標準のテキストフィールドを描くのに使われる.9.pngファイルを探しました。たとえば、それらの1つはtextfield_activated_holo_light.9.pngと呼ばれます。これらのファイルをすべて私のres/drawable-v11ディレクトリにコピーして、v11以降のAndroidバージョンで使用するようにしました。それから、drawable-nodpi/edit_text_holo_light.xmlを追加して、Androidスタイルのorignalスタイルからスタイルをコピーしました。 (これはあまりにも多くここに含める、私は私の答えを更新する) –

0

私の問題を解明します。 manifest.xmlファイルのapplication要素android:theme="@android:style/Theme"にテーマを設定します。

<application 

android:label="@string/app_name" 

android:icon="@drawable/logo" 

android:vmSafeMode="false" 

android:theme="@android:style/Theme"> 

これを試してください。

+2

私は標準のAndroidテーマを使用しています。 Holoですが、3.0より前には存在しませんので、Googleがテーマとテーマを切り替えるために標準コードを使用しています.HoloはOSのバージョンに基づいています。問題は私がテーマを使用していないということではありません。問題はTheme.Holo on Honeycombがすべてのデバイスで適切に動作していないことです。 –

+0

私は同じ問題があります。モトローラのXoomタブレットでアプリケーションをテストしています。私はTheme.Holoを設定しましたが、何も変わっていません(EditTextはまだ背景にブレンドされています)。おそらく私もいくつかのハードコーディングをしなければならないでしょう。 – Sandra

1

あなたはアクションバーがあり、以下のようなテーマを使用する場合は、まだEditTextライトグレーの背景の透かしを見ることができます:

のAndroidManifest.xml

<activity 
    android:name=".ClassName" 
    android:label="ClassName" 
    android:theme="@style/MyTheme" > 

のstyles.xml

<resources> 
    <style name="MyTheme" parent="android:Theme.Holo.Light"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
    </style> 
    <style name="MyActionBar" parent="android:Widget.Holo.ActionBar"> 
    <item name="android:background">@color/black</item> 
    </style> 
</resources> 

これは、テーマ "android:Theme.Holo.Light"では機能しますが、テーマ "android:Theme.Holo"では機能しません。

関連する問題