android - 如何在 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"
推荐阅读
- actionscript-3 - 分配给我的按钮的代码有什么问题?
- paypal - 如何在 PayPal 上交付商品之前暂停卖家订单资金
- python - python列表上的多重替换
- c# - 来自另一个类 c# 的访问列表
- python - 为什么当我使用 time.sleep(0.5) 而不是只使用 1 个函数时,一切都睡 0.5 秒?
- java - 如何使用 JPA 标准仅选择某些字段
- jenkins - 使用 jenkins 构建时 Vb6 项目无法正常工作
- angular - Angular Universal 12:错误:您必须传入 NgModule 或 NgModuleFactory 才能被引导
- powerbi - 针对另一个表的 DAX PowerBI 过滤器
- django - Django PDF Render,聚合模板标签显示包含代码