2015-01-07 44 views
6

Tôi muốn căn chỉnh SearchView trên máy tính bảng khi sử dụng chủ đề tài liệu mới và AppCompat 21. Có thể hoặc tôi phải thêm bố cục tùy chỉnh của riêng mình vào thanh công cụ?Có thể căn chỉnh SearchView trong AppCompat 21 bằng thanh công cụ không?

enter image description here

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_search, menu); 
    mnuSearch = menu.findItem(R.id.menu_search); 
    android.support.v7.widget.SearchView searchView = (SearchView) MenuItemCompat.getActionView(mnuSearch); 
    searchView.setGravity(Gravity.LEFT); 
    searchView.setIconifiedByDefault(false); 
    searchView.setQueryHint(getString(R.string.search)); 
    searchView.requestFocus(); 
    return true; 
} 
+0

rất tốt câu hỏi bạn thân Tôi đoán trong cơ thể của thanh công cụ trong xml của bạn, bạn có thể thiết lập các biểu tượng sử dụng xem hình ảnh bạn có thể thử –

Trả lời

2

Tôi thà xác định bạn SearchView trong một bố cục và sau đó gọi

View v = findViewById(R.id.your_search_view); 
getSupportActionBar().setCustomView(v); 

Bằng cách này nó đi kèm đã xếp trên bên trái, và nếu nó không bạn có thể đặt LayoutParams của nó.

Nếu bạn đang sử dụng Toolbar với AppCompat, mọi thứ trở nên dễ dàng hơn vì nó hoạt động như một ViewGroup.

<android.support.v7.widget.Toolbar 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     xmlns:abc="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/toolbar" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_width="match_parent"> 

    <your.SearchView /> 
     // here you have control over layout_gravity 

</android.support.v7.widget.Toolbar> 
+0

Cảm ơn này, sẽ làm theo cách này. Đã hy vọng cho một sửa chữa dễ dàng nhưng tôi đoán điều này là dễ dàng như nó được :-) –

Các vấn đề liên quan