2013-02-25 23 views
10

Trước 4.2.2, chỉ logo mới có thể nhấp được.Android 4.2.2 làm cho biểu tượng thanh tác vụ và tiêu đề có thể nhấp như thể một phần của cùng một nút

Kể từ 4.2.2, tiêu đề của thanh tác vụ có thể nhấp cùng với biểu trưng - cả hai như một phần của cùng một nút.

Bạn có thể xem ví dụ về hành vi này trong ứng dụng Google Reader - nếu bạn có thiết bị 4.2.2 (Xem ảnh chụp màn hình được đính kèm).

Làm cách nào để tắt hành vi này và chỉ cho phép nhấp vào biểu tượng? Có lẽ đó là một lỗi?

Xem ví dụ đoạn mã:

public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     getActionBar().setDisplayHomeAsUpEnabled(true); 
     getActionBar().setHomeButtonEnabled(true); 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case android.R.id.home: 
       Intent intent = new Intent(this, MainActivity.class); 
       startActivity(intent); 
       finish(); 
       return true; 
     } 
     return false; 
    } 
} 

Clicking on the logo sets the title to also being clicked

+0

Bạn có thể cung cấp một trường hợp thử nghiệm bị giảm mà chứng minh sự cố trong mã không? – Charles

+0

Bạn đã thử ẩn tiêu đề và sử dụng chế độ xem tùy chỉnh thay thế? – ebarrenechea

+0

@Charles - đã thêm đoạn mã qode vào câu hỏi. Như tôi đã nói, nó hoạt động khác nhau trên 4.2.2 so với 4.2.1 –

Trả lời

2

Đó không phải là một lỗi, đó là hệ thống hành vi bình thường! Tôi cho rằng họ đã thay đổi nó để người dùng có thể có một khu vực mục tiêu có thể nhấp lớn hơn trên nút đó.

Trừ khi bạn thực hiện ActionBar của riêng bạn (có thể bằng cách mở rộng ActionBar Sherlock), bạn không thể làm gì với nó.

+2

Nó không hợp lý. Tiêu đề đại diện cho chế độ xem hiện tại. Nhấp vào nó sẽ gửi người dùng đến hoạt động chính, điều đó thật đáng ngạc nhiên. Nếu nó làm tôi ngạc nhiên, là một nhà phát triển, nó sẽ gây bất ngờ cho rất nhiều người dùng. –

+0

Ngoài ra, không có tài liệu nào về điều này trong ghi chú phát hành, cảm giác giống như một lỗi. –

+0

Tôi không ở đây để thảo luận về logic của nó.Tôi chỉ nói với bạn rằng đây là nền tảng hành vi tiêu chuẩn mới và trừ khi bạn có thể thuyết phục những người trong Mountain View thay đổi nó trở lại, đó là cách nó sẽ được. – Budius

3

Câu trả lời này có vẻ liên quan: https://stackoverflow.com/a/16216966/596531

Đã không cố gắng nó ra bản thân mình bởi vì đó là một cách giải quyết tốt nhất và phức tạp mã của tôi, nhưng bằng cách ẩn danh hiệu thực sự nó nên làm các trick.

1

Loại bỏ:

getActionBar().setHomeButtonEnabled(true); 

Và (hoặc)

getActionBar().setDisplayHomeAsUpEnabled(true); 

Điều đó làm cho văn bản và nút biểu tượng với bằng cách sử dụng

getActionBar().setDisplayHomeAsUpEnabled(true); 

trừ sử dụng mã ở trên đây^^ hiển thị một mũi tên nhỏ bên cạnh biểu tượng hoặc văn bản


EDIT

Bạn có thể thử sử dụng này

getActionBar().setHomeButtonEnabled(true); 

Và thoát khỏi văn bản thanh hành động, tôi đoán ... nhưng thats không phải những gì bạn muốn:/nhưng nó làm cho chỉ biểu tượng có thể nhấp

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