Có thể. Tôi đã cố gắng để đạt được một giao diện người dùng giống hệt với những gì bạn đã thể hiện, và đã bị mắc kẹt cho đến khi tôi thử một cái gì đó khá đơn giản nhưng cũng hơi khó hiểu.
Những gì tôi đã làm là thiết lập một Spinner như giao diện tùy chỉnh của tôi cho ActionBar, và sau đó:
ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Dưới đây là một ví dụ về những gì tôi có ý nghĩa.
Tabs Code:
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.addTab(actionBar.newTab().setText("Today").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("List").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Month").setTabListener(this));
Trong hoạt động cha mẹ cho hoạt động này, tôi đã làm điều này:
Context contextTheme = new ContextThemeWrapper(this, R.style.ActionBarSpinner);
Spinner actionBarSpinner = new Spinner(contextTheme);
// Specify a SpinnerAdapter to populate the dropdown list.
actionBarSpinnerAdapter = new ActionBarSpinnerAdapter(actionBar.getThemedContext(), dropdownValues);
actionBarSpinner.setAdapter(actionBarSpinnerAdapter);
// Set up the dropdown list navigation in the action bar.
actionBarSpinner.setOnItemSelectedListener(this);
actionBar.setCustomView(actionBarSpinner);
Điều này làm cho hiệu quả mang lại cho tôi một cái nhìn tùy chỉnh cho ActionBar, nhưng sau đó tôi có thể đặt navigationMode thành tab để cho phép tôi có các tab tôi muốn. Đặt trình lắng nghe sự kiện thích hợp trên mỗi mục, và thì đấy!
Tôi chắc chắn nếu thanh tác vụ quá dài, nó sẽ tạo một hàng khác. –
Tại sao bạn muốn làm điều này? Dường như có thể gây nhầm lẫn cho người dùng. –
@JeffAxelrod quora thực hiện điều này cho ứng dụng Android của họ. Xem http://marketingland.com/wp-content/ml-loads/2012/09/quora-android.jpg –