8

Uygulamam, ana tema olarak Theme.Holo.Light.DarkActionBar kullanıyor.android EditText arka plana karışır

Android 3.2 tablet emülatörümü kullandığımda, EditText şeklini görmek neredeyse imkansız. Beyaz üzerine beyaz çizmeye çalışıyor gibi görünüyor. Burada Görülme: Ben, Android 4.0 Tablet emülatörü üzerinde kullandığınızda, EditText şekli gayet güzel görünüyor

enter image description here

. EditText'in altındaki koyu gri çizgiyi görebilirsiniz. Yukarıdaki resme bakarsanız, açık gri arkaplan filigranını geçtiğinde aynı yerde sadece beyaz bir çizgi görürsünüz. İşte

enter image description here

düzeninde benim EditText geçerli:

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

Ve burada tarzıdır:

<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> 

neden EditText yanlış renk çizilmiş oluyor? Çizim kodunu veya arkaplanını çekilemez değilim.

+0

Merhaba Kenny Wyland, sorununuzu çözdünüz mü? Aynı konuyla da ilgileniyorum. –

+0

Sorunu çözemedim, ancak geçici çözümüm .9 kopyalamaktı.pankek ve Ice Cream Sandwich gelen stil ve Honeycomb ve Dondurma Sandviç için benim app içine kodlanmış. –

+0

aşağıdaki bağlantıyı bakın http://stackoverflow.com/questions/9224560/how-to-change-the-border-colorun-focused-of-an-edittext?answertab=active#tab-top – DKV

cevap

5

Diğer cevaplar aslında benim sorunumun çözümleri değildi ve ben gerçekten sorun neden GERÇEKTEN ne olduğunu anladım. Ancak, bunu çözdüm: Geçici çözümüm .9.pngs'i kopyalamak ve IceTea sandviç'ten EditText widget'ını şekillendirmek ve Honeycomb ve Ice Cream Sandwich için uygulamamın içine kod yazmaktı.

DÜZENLEME: Sonra

<?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> 

Ben ayarlamak için benim styles.xml bir stil yarattı:

aşağıdaki içeren bir dosya adı verilen res/çekilebilir-nodpi/edit_text_holo_light.xml oluşturulan

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

Daha sonra .9.png dosyalarını android sdk'den kopyalayıp res/drawable- * dosyasına koydum. Dosya adları yukarıdaki xml'de listelenmiştir.

+0

Aynı sorunu yaşıyorum, lütfen bunu nasıl düzelttiğiniz hakkında daha fazla bilgi verin. – gath

+2

Standart metin alanlarını çizmek için kullanılan .9.png dosyalarını bulmak için android sdk klasörlerine girdim. Örneğin bunlardan birine textfield_activated_holo_light.9.png denir. Tüm bu dosyaları res/drawable-v11 dizinine kopyaladım, böylece v11'den sonra ve dahil olmak üzere herhangi bir Android sürümü için kullanıldılar. Sonra bir drawable-nodpi/edit_text_holo_light.xml ekledim ve içinde stili orignal Android stillerinden kopyaladım. (Buraya eklemek için çok fazla, cevabımı güncelleyeceğim) –

0

Sorunumu çözüyorum. Manifest.xml dosyasında uygulama öğesi android:theme="@android:style/Theme" öğesinde tema ayarlayarak.

<application 

android:label="@string/app_name" 

android:icon="@drawable/logo" 

android:vmSafeMode="false" 

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

Bunu deneyin.

+2

Standart android Tema kullanıyorum. Holo, ancak 3.0'dan önce mevcut değil, bu yüzden Google tarafından sağlanan Tema ve Theme.Holo arasında geçiş yapmak için Google tarafından sağlanan standart kodu kullanıyorum. Sorun bir tema kullanmıyorum değil .. sorun Honeycomb üzerinde Theme.Holo tüm cihazlarda düzgün davranmıyor. –

+0

Aynı problemim var. Motorola Xoom tablette uygulamamı test ediyorum. Theme.Holo'yu ayarlıyorum ama hiçbir şey değişmedi (EditText hala arka plana karışıyor). Muhtemelen bazı sabit kodlamaları da yapmak zorundayım. – Sandra

1

Bir aksiyon bar var ve aşağıda gibi temaları kullanırsanız hala EditText açık gri arka plan filigran görebilirsiniz:

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> 

Bu tema "android: Theme.Holo.Light" için değil, tema "android: Theme.Holo" için değil.

İlgili konular