我正在尝试在布局中使用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>
我正在使用AppCompat,但它在棒棒糖前看起来有所不同。 EditText缺少pre-lollipop设备的底部边框。
Lollipop Search正确显示边框:
预棒棒糖搜索显示无边框:
我的主题是基本的:
<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>
任何有助于我的风格保持一致的帮助都非常感谢。
答案 0 :(得分:6)
search_src_text
视图的背景设置为@null
要获得我使用的底线
searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text).setBackgroundResource(R.drawable.abc_textfield_search_default_mtrl_alpha);
答案 1 :(得分:0)
更新:对于 Kotlin + Androidx
searchView.findViewById<EditText>(androidx.appcompat.R.id.search_src_text).setBackgroundResource(R.drawable.abc_textfield_search_default_mtrl_alpha)