对于特定设计,我希望工具栏标题文本居中。
我无法让它在片段中工作,尽管我已经按照这些说明在活动中做到了这一点,在其中我为工具栏创建了一个带有 2 个文本视图的自定义工具栏小部件,并将其设置为 SupportActionBar 添加工具栏的 xml 作为包含在活动的布局 xml 中。像这样的东西:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbarCouponDetailed);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayShowCustomEnabled(true);
TextView toolbarTitle = (TextView) findViewById(R.id.toolbar_coupons_title);
TextView toolbarTitleDate = (TextView) findViewById(R.id.toolbar_coupons_title_date_text);
toolbarTitle.setText(StringUtils.onlyFirstLetterUpperCase(mCoupon.getRetailerName()));
toolbarTitleDate.setText(mCoupon.getDateTxt());
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
我尝试使用相同的方法,但不知何故我似乎可以让它工作。有没有人有解决这个问题的想法或代码示例?
编辑:我实际上为片段 xml 中包含的片段创建了另一个工具栏布局。在 onCreateView() 我创建了一个成员变量来创建对工具栏的引用,然后我可以在我调用的地方使用 onActivityCreated():
((MainActivity) getActivity()).setSupportActionBar(mToolbar);
((MainActivity) getActivity()).getSupportActionBar().setDisplayShowCustomEnabled(true);
((MainActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
但是活动工具栏还是这样用的