如何在 SearchView 中垂直居中查询提示文本

how to vertically center query hint text within SearchView

我在我的 searchView 文本上设置了自定义字体,但在那之后我的查询提示文本稍微向上倾斜,我如何将它垂直居中??

我的xml文件

<RelativeLayout
    android:id="@+id/relativelayout1"
    android:layout_width="@dimen/_250sdp"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/_8sdp"
    android:layout_marginLeft="@dimen/_16sdp"
    android:layout_marginRight="@dimen/_8sdp"
    android:background="@drawable/searchview_bg"
    app:layout_constraintBottom_toTopOf="@id/relativelayout2"
    app:layout_constraintEnd_toStartOf="@id/notification_icon"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <androidx.appcompat.widget.SearchView
        android:id="@+id/search_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerInParent="true"
        app:iconifiedByDefault="false"
        app:queryBackground="@android:color/transparent"
        app:queryHint="Search"
        app:searchIcon="@drawable/ic_search" />

    <ImageView
        android:id="@+id/filter_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_filter"
        android:layout_marginRight="@dimen/_8sdp"
        android:layout_centerInParent="true"
        android:layout_alignParentRight="true" />
</RelativeLayout>

我的java文件

    Typeface tf = ResourcesCompat.getFont(getContext(),R.font.poppins);
    searchView = getActivity().findViewById(R.id.search_bar);
    searchText = (TextView)searchView.findViewById(androidx.appcompat.R.id.search_src_text);
    searchText.setTypeface(tf);

可能是因为你的字体有这个底边距。你试过了吗:

android:includeFontPadding="false"

另一个可能的问题是重力

android:gravity="center"