Tôi có một ứng dụng có một trình đơn tác vụ là split action bar.Cách căn giữa menu hành động trên thanh công cụ
Tôi đã thay đổi actionbar cho thanh công cụ mới và thay thế actionbar chia bởi một thanh công cụ khác được sử dụng trong chế độ độc lập:
Toolbar toolbarBottom = (Toolbar) findViewById(R.id.toolbarBottom);
toolbarBottom.inflateMenu(R.menu.ab_one_cam);
Như quy định trong tài liệu trình đơn hành động là pin ở bên phải của thanh công cụ:
Nhưng tôi muốn các biểu tượng được tập trung vào thanh công cụ, giống như nó đã được trên chia actionbar:
Làm thế nào tôi có thể làm cho menu hành động mất tất cả không gian có sẵn trên thanh công cụ?
Thanh công cụ dành riêng cho trình đơn này, không có gì khác sẽ được thêm vào nó.
trả lời
Câu trả lời được chấp nhận của liên kết dẫn đến một thanh công cụ chia. Nếu như tôi bạn có nhu cầu rất đơn giản mã này là đủ tốt:
public class SplitToolbar extends Toolbar {
public SplitToolbar(Context context) {
super(context);
}
public SplitToolbar(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SplitToolbar(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void addView(View child, ViewGroup.LayoutParams params) {
if (child instanceof ActionMenuView) {
params.width = LayoutParams.MATCH_PARENT;
}
super.addView(child, params);
}
}
tín dụng đi vào: https://gist.github.com/dodgex/7bc81fd2cbb70a8d5117
Kiểm tra cũng: http://stackoverflow.com/questions/34546160/how-to-enable-split-action-bar/34546493#34546493 – piotrek1543