Android AppCompat SearchView EditText在前棒棒糖上缺少底线

Dai*_*isy 5 android android-appcompat android-edittext searchview

我试图在我的布局中使用SearchView(不在ToolBar或ActionBar中).

<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>
Run Code Online (Sandbox Code Playgroud)

我正在使用AppCompat,但它在前棒棒糖上看起来有所不同.EditText缺少pre-lollipop设备的底部边框.

棒棒糖搜索正确显示边框: 棒棒糖SearchView与底部边框

前棒棒糖搜索显示无边框: 前棒棒糖SearchView没有底部边框

我的主题是基本的:

    <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>
Run Code Online (Sandbox Code Playgroud)

任何有助于我的风格一致的帮助将非常感谢.

Piy*_*iya 6

根据https://github.com/android/platform_frameworks_support/blob/master/v7/appcompat/res/layout/abc_search_view.xml上的源代码

search_src_text 视图的背景设置为@null

为了获得我使用的底线

searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text).setBackgroundResource(R.drawable.abc_textfield_search_default_mtrl_alpha);
Run Code Online (Sandbox Code Playgroud)