2013-05-01 27 views
5

Tab trong Android 2.2 chiếm toàn bộ chiều rộng.Làm cách nào để sửa các thanh Hành động, các tab Sherlock có độ không nhất quán?

enter image description here

enter image description here

Tabs trong Android 4.2 Nexus 7, các tab không chiếm toàn bộ chiều rộng. Cả hai đều có cùng mã. sử dụng actionBarsherlock
ví dụ:

final ActionBar actionBar = getSupportActionBar(); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
// add tabs 
Tab tab1 = actionBar.newTab().setText("TabTitle1") 
.setTabListener(new MyTabListener(null)); 
actionBar.addTab(tab1); 

Tôi đang thiếu gì? Điều này có nên được sửa trong chủ đề không! Tôi chỉ muốn các tab để chiếm đầy đủ chiều rộng có sẵn

Trả lời

7

Đây không phải là một lỗi vì hai lý do:

  1. ActionBarSherlock là một backport của Android 4.0 hoạt động UI thanh và API để các phiên bản trước của Android. Mọi thay đổi về hành vi của thanh tác vụ sau Android 4.0 sẽ không được trả lại. Hành vi này đã thay đổi trong Android 4.2.
  2. Bạn đang so sánh hai kích thước khác nhau của thiết bị. Nếu bạn lấy điện thoại XHD 1280x720 XHDPI chạy Android 4.2, bạn sẽ thấy rằng hai tab trải rộng theo chiều rộng của thiết bị khi ở chế độ dọc. Lấy điện thoại XHDPI 1280x768 trên 4.2 (ví dụ: Nexus 4) và bạn sẽ thấy hai tab không kéo dài toàn bộ chiều rộng vì kích thước đang trở nên quá lớn để chứa đầy đủ chiều rộng.
+0

Giải pháp nào có thể cho điều này, nếu tôi muốn các tab mở rộng toàn bộ chiều rộng có sẵn trên tất cả các thiết bị? – sat

+0

Tạo các tab của riêng bạn và không sử dụng các tab trong thanh tác vụ. –

+1

@JakeWharton - làm thế nào để bạn tạo các tab của riêng mình? Bạn có nghĩa là thay thế các tab bằng chế độ xem tùy chỉnh hoặc bạn đề xuất xây dựng thành phần tùy chỉnh của riêng chúng ta trông giống như ActionBar và bao gồm cả các tab trong mỗi trang? –

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