android – SearchView上的余量太大

前端之家收集整理的这篇文章主要介绍了android – SearchView上的余量太大前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的SearchView显示如下:

enter image description here

正如您所看到的,SearchView的search_edit_frame和SearchView本身之外都有一个边距.

enter image description here

这是从哪里来的?检查布局显示search_edit_frame左侧有24个像素的边距,但在其他地方没有边距.

如何删除这个额外的空间?

menu.xml文件

@H_404_20@

布局:

我设法通过应用@Jimmy的答案来缩小间距:

enter image description here

然而,“后”图像按钮和SearchView之间仍然存在很大差距.

最佳答案
search_edit_frame是searchview布局中的LinearLayout.它的默认开始和结束边距为8dip.

相关代码来自source

 @H_404_20@

您的问题可能是因为它的起始保证金.您可以从搜索视图中获取此线性布局,并设置布局参数以减少活动中的间隙(可能在onCreateOptionsMenu内部或类似于您正在膨胀此搜索视图的位置).

这样的事情,假设searchView是你的SearchView实例,

        LinearLayout searchFrameLL=(LinearLayout)searchView.findViewById(R.id.search_edit_frame);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.MATCH_PARENT);
        params.setMargins(0,8,0); //params.setMargins(left,top,right,bottom)
       // params.setMarginStart(0);  //(or just use individual like this
        searchFrameLL.setLayoutParams(params);
@H_404_20@

以类似的方式,您可以更新该xml中的其他属性以满足您的需求.

猜你在找的Android相关文章