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

如何设置或删除android SearchView顶部和底部填充?,android,android-search,Android,Android Search,我开发了一个android应用程序。我在应用程序中使用SearchView。我想定制它。但我不删除它的顶部和底部填充。当SearchView的高度递减时,文本框淹没。流动输出视图- 我想- XML布局代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wid

我开发了一个android应用程序。我在应用程序中使用SearchView。我想定制它。但我不删除它的顶部和底部填充。当SearchView的高度递减时,文本框淹没。流动输出视图-

我想-

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代码:

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;
  }
}
公共类SearchViewFilterMode扩展活动实现SearchView.OnQueryTextListener{
私有搜索视图;
私有列表视图;
私有最终字符串[]mStrings=Cheeses.sCheeseStrings;
专用阵列适配器;
android.widget.Filter;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE\u ACTION\u栏);
setContentView(R.layout.searchview\u过滤器);
mSearchView=(SearchView)findViewById(R.id.search\u视图);
mListView=(ListView)findViewById(R.id.list\u视图);
适配器=新阵列适配器(此,
android.R.layout.simple\u list\u item\u 1,
mStrings);
filter=adapter.getFilter();
mListView.setAdapter(适配器);
mListView.setTextFilterEnabled(false);
setupSearchView();
}
私有void setupSearchView(){
setPadding(0,0,0,0);
mSearchView.setPaddingRelative(0,0,0,0);
LinearLayout.LayoutParams seachV=新的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);
如果(searchPlateView!=null){
searchPlateView.setBackgroundColor(颜色:白色);
}
mSearchView.setIconifiedByDefault(false);
mSearchView.setOnQueryTextListener(此);
mSearchView.setSubmitButtonEnabled(true);
mSearchView.setQueryHint(“在此处搜索”);
}
@凌驾
公共布尔onQueryTextChange(字符串newText){
filter.filter(newText);
返回true;
}
公共布尔值onQueryTextSubmit(字符串查询){
返回false;
}
}

任何提示和示例都会有帮助。

您没有正确解释它。您要自定义SearchView布局。这是一个线性布局。您可以转到“*\path to your android sdk folder\platforms\android xx\data\res\layout*”并找到搜索视图布局。而SearchView类是。现在,您可以通过编程进行自定义。

您能正确地解释一下吗?您希望它是2图像还是2图像?