2012-12-07 18 views
5

Khi tôi thiết lập các thuộc tính:thanh hành động được hiển thị bên dưới các tab của nó

actionBar = getSupportActionBar(); 

    actionBar.setDisplayHomeAsUpEnabled(true); 
    actionBar.setDisplayShowHomeEnabled(false); 
    actionBar.setDisplayShowTitleEnabled(true); 
    actionBar.setTitle("Title"); 
    actionBar.setLogo(null); 

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

Các ActionBar dưới Tabs nó.

Nhưng nếu tôi bình luận Như thế này:

actionBar.setDisplayShowHomeEnabled(false); 

Nó hoạt động tốt. Nhưng lý do tôi muốn nó là false, để tránh appIcon được hiển thị.

cảm ơn

Trả lời

7

Tôi googled vấn đề này và tìm thấy chủ đề này trên gitub: https://github.com/JakeWharton/ActionBarSherlock/issues/327

Bạn có thể đọc các chủ đề, nhưng kết luận là:

Hi. Chỉ cần tìm một cách giải quyết đơn giản.

Sử dụng các phương pháp sau trong phương pháp onCreate:
Xem homeIcon = findViewById (android.R.id.home);
((Xem) homeIcon.getParent()). SetVisibility (View.GONE);
điều này sẽ thu gọn hoàn toàn nút trang chủ.

PS: Tôi đang sử dụng ActionBar tiêu chuẩn nhưng điều này nên làm việc cùng

Tôi hy vọng điều này sẽ giúp bạn ra ngoài,
Daniel.

+0

Nhưng HomeAsUpIcon cũng sẽ bị ẩn? ** Biểu tượng <** lên phải hiển thị, nhưng không phải là appIcon –

+0

Tôi không thể tìm thấy câu trả lời cụ thể cho điều này trong hướng dẫn dành cho nhà phát triển. Nhưng điều đó có lẽ cũng sẽ biến mất. Tôi sẽ nói, hãy thử nó. Nếu không, bạn có thể có thể tạo một số cách giải quyết khác với một hình ảnh nhỏ trong suốt, và đặt nó làm biểu tượng ứng dụng trong thanh hành động. (Nếu điều này không ảnh hưởng đến biểu tượng thực). Sau đó, bạn chỉ thấy

+0

với ActionBarSherlock, sử dụng: Xem homeIcon = findViewById (Build.VERSION.SDK_INT> = Build.VERSION_CODES.HONEYCOMB? Android.R.id.home: R.id.abs__home); – absk

1

tôi được sử dụng này, và nó làm việc trên tôi

ActionBar ab = getSupportActionBar(); 
    ab.setDisplayShowHomeEnabled(true); 
    ab.setDisplayHomeAsUpEnabled(false); 
    ab.setHomeButtonEnabled(false); 
    ab.setLogo(null); 

    View homeIcon = findViewById(
      Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? 
      android.R.id.home : R.id.abs__home); 
    ((View) homeIcon.getParent()).setVisibility(View.GONE); 
    ((View) homeIcon).setVisibility(View.GONE); 

    ab.setDisplayShowTitleEnabled(false); 
0

Tất cả các bài viết ở trên bị sụp đổ vào biểu tượng nhà nhưng để lại một khoảng trống. Để tránh điều đó, bạn cần đặt kích thước logo thành 0. Bên dưới đã thêm đoạn mã của tôi.it có thể giúp những người khác đang gặp khó khăn với cùng một vấn đề.thanks

 actionBar.setLogo(new ColorDrawable(Color.TRANSPARENT)); 

     View homeIcon = findViewById(
       Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? 
       android.R.id.home : R.id.abs__home); 
     ((View) homeIcon.getParent()).setLayoutParams(new LayoutParams(0, 0)); 
     ((View) homeIcon).setVisibility(View.GONE); 
Các vấn đề liên quan