Tôi đã thấy trong Ứng dụng Hộp thư đến của Google, soạn một email mới, trên thanh công cụ thay vì nút quay lại (mũi tên) nó có nút "đóng" (xem hình).
Làm thế nào tôi có thể đạt được điều này?
Tôi đã thấy trong Ứng dụng Hộp thư đến của Google, soạn một email mới, trên thanh công cụ thay vì nút quay lại (mũi tên) nó có nút "đóng" (xem hình).
Làm thế nào tôi có thể đạt được điều này?
Câu trả lời:
Sử dụng
this.getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_action_close);
để đạt được điều này.
Bạn có thể tạo biểu tượng đóng của riêng mình hoặc lấy từ bộ biểu tượng material design trên GitHub. Ngoài ra, thêm dòng này trước dòng trên để đóng chức năng như mũi tên quay lại.
this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Tất nhiên, bạn cần xác định cha mẹ trong tệp kê khai, sau đó ghi đè onSupportNavigationUp () nếu sử dụng thanh ứng dụng hỗ trợ. Ngoài ra, hãy truy cập trang web hữu ích này để xem các gói biểu tượng: https://www.google.com/design/icons/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yourAwesomeLayout);
setupToolBar();
}
private void setupToolBar() {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar == null) return;
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
}
@Override
public boolean onSupportNavigateUp() {
finish(); // close this activity as oppose to navigating up
return false;
}
onSupportNavigateUp()
? Tài liệu nói rằng nó chỉ là một lá cờ thành công
xin lỗi vì trả lời muộn. tôi đã tìm thấy giải pháp dễ dàng nhất cho bạn . ở đây trên tất cả câu trả lời không hoạt động cho tôi ( because i want to use toolbar not actionBar due to theming
). vì vậy hãy cố gắng thêm nút đóng thông qua bố cục xml. Và nó hoạt động.
đây là cú pháp xml để thêm nút đóng vào thanh công cụ (v7).
app:navigationIcon="@drawable/ic_close_black_24dp"
@drawable/ic_close_black_24dp
đến?
Một giải pháp thay thế để xác định hoạt động chính trong tệp kê khai là xử lý hành động cần thực hiện trong phương thức onOptionsItemSelected như trong ví dụ này:
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()) {
// Respond to the action bar's Up/Home/back button
case android.R.id.home:
finish();
break;
}
return super.onOptionsItemSelected(item);
}