5

Sto cercando di utilizzare un SearchView nel mio layout (non all'interno di una barra degli strumenti o ActionBar).Android AppCompat SearchView EditText mancante linea di fondo su pre-lollipop

<FrameLayout android:layout_width="0dp" android:layout_weight="50" android:layout_height="wrap_content" > 
    <android.support.v7.widget.SearchView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|left" style="@style/MySearchViewStyle" /> 
    </FrameLayout> 

Sto usando AppCompat, ma sembra diverso sul pre-lecca-lecca. In EditText manca il bordo inferiore nei dispositivi pre-lecca-lecca.

Lollipop di ricerca visualizza confine correttamente: Lollipop SearchView with bottom border

Pre-lollipop ricerca visualizza nessun bordo: Pre-lollipop SearchView with NO bottom border

Il mio tema è fondamentale:

<style name="Theme.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- TOOLBAR --> 
    <item name="android:windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <!-- Search --> 
    <item name="searchViewStyle">@style/MySearchViewStyle</item> 
    <item name="android:searchViewStyle">@style/MySearchViewStyle</item> 
    <!-- COLOURS --> 
    <item name="colorPrimary">@color/primary</item> 
    <item name="colorPrimaryDark">@color/primary_dark</item> 
    <item name="colorAccent">@color/accent</item> 
    </style> 
    <style name="MySearchViewStyle" parent="Widget.AppCompat.SearchView"> 
    <item name="android:editTextStyle">@style/EditText</item> 
    <item name="editTextStyle">@style/EditText</item> 
    </style> 
    <style name="EditText"> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:layout_width">wrap_content</item> 
    <item name="android:inputType">text</item> 
    <item name="android:cursorVisible">true</item> 
    <item name="android:maxLength">1000</item> 
    <item name="android:selectAllOnFocus">true</item> 
    <item name="android:paddingTop">4dp</item> 
    </style> 

Qualsiasi aiuto per ottenere i miei stili coerente sarebbe essere grandi grazie.

+0

notato lo stesso problema dopo l'aggiornamento alla più recente lib supporto. La versione precedente non presenta questo problema. Continua a cercare una soluzione. – httpdispatch

+0

Ah, questo potrebbe spiegarlo allora, dato che non avevo la vecchia versione, ho solo aggiunto la libreria di progettazione la scorsa settimana. :-( Fammi sapere se trovi una soluzione. Grazie – Daisy

risposta

5

Come per il codice sorgente a https://github.com/android/platform_frameworks_support/blob/master/v7/appcompat/res/layout/abc_search_view.xml

search_src_text vista ha sfondo impostato @null

Per ottenere linea di fondo ho usato

searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text).setBackgroundResource(R.drawable.abc_textfield_search_default_mtrl_alpha); 
+0

A partire dalla libreria di supporto versione 25.0.0, '((Visualizza) searchView.findViewById (android.support.v7.appcompat.R.id.search_src_text) .getParent()). setBackgroundResource (0); 'deve essere chiamato per SearchViews che non fanno parte anche della barra degli strumenti. – 0101100101

Problemi correlati