2012-01-22 4 views
9

Trong Android, bạn có thể đặt danh sách điều hướng trong thanh tác vụ bằng cách chuyển bộ điều hợp spinner và OnNavigationListener. vấn đề là danh sách chuyển hướng không điền nhất của thanh tác vụ, làm thế nào để làm cho nó mở rộng như ứng dụng gmail: Ví dụ về ứng dụng Gmail:Làm cách nào để mở rộng danh sách điều hướng trong thanh tác vụ?

enter image description here

Ứng dụng của tôi:

enter image description here

Và đây là đoạn code:

//... setting the array adapter 
ActionBar actionBar = getActionBar(); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
NavigationListener navigationListener = new NavigationListener(); 
ListAdapter listAdapter = new ListAdapter(); 
actionBar.setListNavigationCallbacks(listAdapter, navigationListener); 
actionBar.setDisplayShowTitleEnabled(false); 

vấn đề khác tôi phải đối mặt là kích thước của spinner mục, họ hiển thị thực sự nhỏ, là bởi vì tôi không vượt qua textview tùy chỉnh (nhìn vào ảnh chụp màn hình)? ví dụ về những gì tôi làm:

private class ListAdapter extends BaseAdapter implements SpinnerAdapter { 

    public View getView(int pos, View view, ViewGroup viewGroup) { 
     TextView text = new TextView(context); 
     text.setText(arrayAdapter.getItem(pos).toString()); 
     return text; 
    } 

} 

Trả lời

11

Bạn cũng muốn thực hiện phương pháp getDropDownView. Điều này cho phép bạn cung cấp chế độ xem khác cho danh sách thả xuống với các chỉ số và định dạng bạn muốn.

Cân nhắc tăng bố cục khung android.R.layout.simple_spinner_itemandroid.R.layout.simple_spinner_dropdown_item cho các trường hợp này. Sử dụng findViewById(android.R.id.text1) để có được TextView bạn nên điền vào từng cái một.

+0

+1, nhờ liên kết getDropDownView – orip

-1

Có thể bạn có thể sử dụng ActionBar tab navigation và thêm biểu tượng vào các tab thay vì điều hướng danh sách vì điều hướng của gmail trông giống như điều hướng tab hơn.