2012-01-04 14 views
6

Android ActionBar có chế độ NAVIGATION_MODE_TABS. Sử dụng ActionBarSherlock 3.5.1 Tôi đã thiết lập ActionBar và thêm 5 tab này. Trên các thiết bị 2.x tôi thấy tất cả các tab không có cuộn ngang. Trên 4.0.x, tôi chỉ thấy 3 tab có bố cục có thể cuộn. NAVIGATION_MODE_TABS của ActionBar có thể chứa tối đa 3 tab trong ICS? Nếu có, tôi có thể hack bằng cách nào đó không? Tôi biết, tôi có thể tạo tùy chỉnh TabHost, nhưng sẽ tốn khá nhiều thời gian để triển khai nó với ViewPager giữa các lần xem tab.Số lượng tab trong ActionBar

2.x devices

4.0.X devices

+0

Cùng một vấn đề ở đây. Bạn đã tìm được giải pháp chưa? – user420574

+0

Chúng tôi đã tạo TabBar tùy chỉnh. Kiểm tra tại đây: https://gist.github.com/3273440 – sealskej

+2

Tôi khuyên bạn nên cập nhật lên ActionBarSherlock 4.2.0. Tôi sử dụng phiên bản thư viện đó cho tất cả mọi thứ mà không có vấn đề gì ở các cấp API này. – jsimon

Trả lời

2

Bạn không cần phải hack gì cả. Các tab ActionBar có các tham số bố trí cụ thể mà bạn có thể thay đổi khá dễ dàng thông qua một kiểu tùy chỉnh. Google sử dụng phong cách riêng của họ để đặt chúng ở vị trí đầu tiên. Bạn nên xem xét việc tạo kiểu tùy chỉnh này. http://android-developers.blogspot.com/2011/04/customizing-action-bar.html Vì bạn muốn họ trông giống như họ cách Jake Wharton đã đặt chúng trong ActionBarSherlock, sau đó bạn có thể làm cho mọi thứ dễ dàng hơn cho chính mình và chỉ cần rip phong cách của mình ra.

+1

Chắc chắn tôi sử dụng kiểu. Vấn đề là màn hình trông khác nhau trên các phiên bản Android khác nhau. Tôi đang tìm kiếm lý do, tại sao điều này lại xảy ra. – sealskej

+0

Tôi không thấy bất kỳ tùy chọn nào trong kiểu liên quan đến việc kiểm soát trạng thái cuộn của các tab. –

0

Tôi đã gặp sự cố tương tự với thanh chặn hành động, và bài đăng này đã giúp tôi.
How to manage the width of ActionBar navigation tabs?

phần quan trọng là

<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar"> 
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> 
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item> 
</style>