2013-07-12 5 views
8

In una delle mie attività, le mie opinioni EditText utilizzati per assomigliare a questoCambia stile EditText Android di bordo rettangolare per sottolineare

enter image description here

Ma ora sembra che questo

enter image description here

Ho bisogno di aiuto per cambiarlo di nuovo: dal rettangolo al trattino basso.

SFONDO

perché avevo bisogno di creare un ActionBar personalizzato, ho dovuto cambiare il tema della attività in questione, YesterdayActivity, utilizzando il seguente

Stile:

<style name="CustomWindowTitleBackground"> 
     <item name="android:background">#323331</item> 
    </style> 

    <style name="CustomTheme" parent="android:Theme"> 
     <item name="android:windowTitleSize">40dip</item> 
     <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> 
    </style> 

Manifesto:

<activity 
     android:name="com.example.YesterdayActivity" 
     android:theme="@style/CustomTheme"> 
    </activity> 

onCreate:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
     setContentView(R.layout.activity_yesterday); 
     getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.yesterday_title_bar); 
… 
} 
+0

do u vuole fare EditText sottolineatura? – TheFlash

+0

Voglio solo tornare all'aspetto predefinito come mantenere il mio actionBar personalizzato. Se costruisci una semplice app Android con un EditText, la prima immagine è l'aspetto predefinito, che è quello che voglio. –

+0

Sto riscontrando il problema ESATTO STESSO –

risposta

0

cambiare il tema personalizzato come questo

<style name="CustomTheme" parent="android:Theme.Holo.NoActionBar"> 

perché non si utilizza vecchio tema Android non HoLo che ha quel genere di editTextView

Nelle versioni più recenti di Android , il framework utilizzerà la funzione Window.FEATURE_ACTION_BAR ogni volta che viene selezionato il tema Holo. Il framework genera l'eccezione ogni volta che un'app chiama setFeatureInt(Window.FEATURE_CUSTOM_TITLE) e FEATURE_ACTION_BAR è già stata impostata. si è bloccato perché Holo utilizza ActionBar per impostazione predefinita. La correzione era semplice. Spegnere l'ActionBar off quando si utilizza Holo

+0

Quando cambio genitore si lamenta della combinazione di custom funzionalità con altre funzionalità. Quindi l'app si arresta in modo anomalo. –

+0

@CoteMounyo ha modificato la mia risposta con il motivo dello schianto – DjHacktorReborn

+0

Grazie per l'aiuto. Ma non capisco la tua modifica. Qual è il codice finale per apparire? –

0

Rimuovi questa linea dal vostro stile

<item name="android:background">#323331</item> 

perché è l'attributo di sfondo che riflette il comportamento.

0

Ci sono due modi per raggiungere questo obiettivo. Primo metodo modificando tema dell'applicazione

primo metodo:

AndroidManifest.xml

Vedi Android: tema

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    ... 
    ... 
    </application> 

res/valori/style. xml

Theme.AppCompat.Light.DarkActionBar marche hanno sottolineato EditText

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

Basta usare EditText in stesso modo

<EditText 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:hint="Email Address" 
     android:inputType="textMultiLine" 
     android:textSize="16dp" /> 

Secondo metodo:

Creare un disegnabile forma con corsa di fondo e impostarla come sfondo di EditText

creare un file drawable chiamato res/drawable/stroked_edittext_bg.xml detto in t lui sotto il collegamento:

How To Create An Android Shape With Bottom Stroke

<EditText 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:background="@drawable/stroked_edittext_bg" 
     android:hint="Email Address" 
     android:inputType="textMultiLine" 
     android:textSize="16dp" /> 
0

si può raggiungere, se si cambia il tema per EditText.

<EditText 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:inputType="textPersonName" 
     android:text="Name" 
     android:theme="@android:style/Theme.Holo" 
     android:ems="10" 
     android:id="@+id/editText" 
     android:layout_below="@+id/textView" 
     android:layout_centerHorizontal="true" />