gpt4 book ai didi

Android AppCompat SearchView EditText 在 Lollipop 之前缺少底线

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:31:11 27 4
gpt4 key购买 nike

我正在尝试在我的布局中使用 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,但它在 Lollipop 之前看起来不一样。 EditText 在前 Lollipop 设备中缺少底部边框。

Lollipop Search 正确显示边框: Lollipop SearchView with bottom border

Lollipop 之前的搜索显示无边框: Pre-lollipop SearchView with NO bottom border

我的主题是基本的:

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

如果能帮助我保持风格一致,我将不胜感激。

最佳答案

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

search_src_text View 的背景设置为@null

为了得到底线我用了

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

关于Android AppCompat SearchView EditText 在 Lollipop 之前缺少底线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31117333/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com