You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置SearchView组件中queryHint属性的文本大小

方案1:通过XML样式静态设置

首先在res/values/styles.xml中添加自定义SearchView文本样式:

<style name="CustomSearchViewHintStyle" parent="TextAppearance.AppCompat.Widget.SearchView.Query">
    <!-- 自定义hint文本大小,单位sp -->
    <item name="android:textSize">14sp</item>
    <!-- 可按需额外设置hint文字颜色等属性 -->
    <item name="android:textColorHint">#888888</item>
</style>

然后给你的SearchView新增queryHintTextAppearance属性引用该样式即可:

<SearchView
        android:id="@+id/searchViewBox"
        android:layout_width="351dp"
        android:layout_height="49dp"
        android:elevation="10dp"
        android:iconifiedByDefault="false"
        android:queryBackground="@null"
        android:queryHint="Search text here"
        <!-- 新增这行,AppCompat库下用app命名空间 -->
        app:queryHintTextAppearance="@style/CustomSearchViewHintStyle"
        app:layout_constraintTop_toBottomOf="@+id/titel" />

如果使用的是原生Android框架的SearchView,将命名空间改为android:即可。

方案2:通过代码动态设置

SearchView内部默认包含一个id为search_src_text的EditText控件,直接获取该控件修改属性即可:

Kotlin示例:

val searchView = findViewById<SearchView>(R.id.searchViewBox)
val searchEditText = searchView.findViewById<EditText>(androidx.appcompat.R.id.search_src_text)
// 第一个参数指定单位为SP,第二个参数为目标字体大小
searchEditText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14f)

Java示例:

SearchView searchView = findViewById(R.id.searchViewBox);
EditText searchEditText = searchView.findViewById(androidx.appcompat.R.id.search_src_text);
searchEditText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);

注意:如果使用非AppCompat的原生SearchView,将id替换为android.R.id.search_src_text即可。

内容的提问来源于stack exchange,提问作者Sander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:54:06