简体   繁体   English

如何设置或删除android SearchView的顶部和底部填充?

[英]How to set or remove android SearchView top and bottom padding?

I develop an android apps.我开发了一个android应用程序。 I use SearchView in my application.我在我的应用程序中使用 SearchView。 I want to customise it.But I don't remove it's top and bottom padding.When SearchView's height decrements,textbox drowned.Flowing output view-我想自定义它。但我不删除它的顶部和底部填充。当 SearchView 的高度减少时,文本框被淹没。流动输出视图-

在此处输入图片说明

I want to-我想要-

在此处输入图片说明

XML Layout code: XML 布局代码:

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

  <SearchView
    android:id="@+id/search_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:background="@drawable/search_text" />

  <ListView
        android:id="@+id/list_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"/>

</LinearLayout>

Java Code: Java代码:

public class SearchViewFilterMode extends Activity implements SearchView.OnQueryTextListener {

private SearchView mSearchView;
private ListView mListView;

private final String[] mStrings = Cheeses.sCheeseStrings;


private ArrayAdapter<String> adaptor;

android.widget.Filter filter ;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR);

    setContentView(R.layout.searchview_filter);

    mSearchView = (SearchView) findViewById(R.id.search_view);
    mListView = (ListView) findViewById(R.id.list_view);
    adaptor=new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1,
            mStrings);
    filter = adaptor.getFilter();
    mListView.setAdapter(adaptor);
    mListView.setTextFilterEnabled(false);
    setupSearchView();
}

private void setupSearchView() {
    mSearchView.setPadding(0, 0, 0, 0);
    mSearchView.setPaddingRelative(0, 0, 0, 0);
     LinearLayout.LayoutParams seachV = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 75);
     seachV.setMargins(5,10, 5, 0);
     mSearchView.setLayoutParams(seachV);
     mSearchView.setBackgroundResource(R.drawable.search_text);

     EditText e = (EditText)mSearchView.findViewById(mSearchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null));
   e.setBackgroundResource(R.drawable.search_text);
   int searchPlateId = mSearchView.getContext().getResources()
           .getIdentifier("android:id/search_plate", null, null);
   View searchPlateView = mSearchView.findViewById(searchPlateId);
   if (searchPlateView != null) {
       searchPlateView.setBackgroundColor(Color.WHITE);
   }
    mSearchView.setIconifiedByDefault(false);
    mSearchView.setOnQueryTextListener(this);
    mSearchView.setSubmitButtonEnabled(true); 
    mSearchView.setQueryHint("Search Here");

}
@Override
public boolean onQueryTextChange(String newText) {        
    filter.filter(newText);
    return true;
}

 public boolean onQueryTextSubmit(String query) {
      return false;
  }
}

Any Hints and Example will be helpful.任何提示和示例都会有所帮助。

You do not explain it properly.你没有正确解释。 You want to customize SearchView layout.您想自定义 SearchView 布局。 It is a LinearLayout.You go to " *\\path-to-your-android-sdk-folder\\platforms\\android-xx\\data\\res\\layout* " and find search_view layout.它是一个 LinearLayout。你去“ *\\path-to-your-android-sdk-folder\\platforms\\android-xx\\data\\res\\layout* ”并找到search_view布局。 And SearchView class is here . SearchView 类就在这里 Now you customize Programmatically.现在您以编程方式自定义。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何删除Android复选框的内部图像填充(顶部,左侧和底部) - How to remove internal Image padding (Top, Left and Bottom) of an Android Checkbox 如何从android的Bottom表中删除顶部填充? - How to remove top padding from Bottom sheet in android? Android:TextView:删除顶部和底部的间距和填充 - Android: TextView: Remove spacing and padding on top and bottom 如何删除 android SearchView 组件中的底线? - How to remove bottom line in android SearchView component? 如何删除textView的顶部和底部填充? - How to remove top and bottom padding on a textView? Android SearchView删除提示填充 - Android searchview remove hint padding 如何在SearchView中删除文本/布局的内部底部空间(底部边距/填充)? - How to remove inner bottom space (bottom margin/padding) of text/layout inside a SearchView? 删除搜索栏中的顶部和底部填充 - Remove the top and bottom padding in a SeekBar 如何从android.support.v7.widget.Toolbar中删除顶部和底部填充? - How to remove top and bottom padding from android.support.v7.widget.Toolbar? TextView:删除顶部和底部的间距和填充 - TextView: Remove spacing and padding on top and bottom
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM