【发布时间】:2020-09-29 16:33:01
【问题描述】:
我正在尝试构建一个左侧有两个图标的 ActionBar,其余的在右侧。这两个项目将是一个徽标,当单击它会将用户重定向到主页,以及一个后退按钮,当单击它会将用户重定向到“Page Up”。 logo应该出现在最左边,后面应该出现默认的后退箭头。
目前,我已经实现了“Page Up”功能(带有默认的后退箭头),并且该项目出现在左侧,但我也未能成功将徽标放在那里。
这是我到目前为止所拥有的(代码被简化以专注于问题的重要内容):
layout_action_bar.xml:
<!-- Custom layout for the action bar, so that we are able to center the text in it -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="@dimen/action_bar_text_padding_right"
android:id="@+id/txt_action_bar_title"
android:singleLine="true"
android:ellipsize="end"
style="@style/Widget.ActionBar.Text"/>
</LinearLayout>
menu_base.xml(不需要,只是为了说明我在 ActionBar 右侧的内容):
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".BaseActivity">
<item
android:id="@+id/action_menu"
android:icon="@drawable/ic_menu"
android:orderInCategory="1"
android:title="@string/menu_drawer_open_accessibility"
app:showAsAction="always"/>
<item android:id="@+id/search"
android:title="@string/actionbar_search_button_tooltip"
android:icon="@drawable/ic_navigation_search"
app:showAsAction="always|collapseActionView"
app:actionViewClass="androidx.appcompat.widget.SearchView"
/>
</menu>
menu_base 在 CreateOptionsMenu() 上膨胀,并且在 ActionBar 的那一侧一切正常。
BaseActivityMenu.java:
protected final void createMenu(CharSequence actionBarText) {
ActionBar actionBar = getSupportActionBar();
if(actionBar != null) {
actionBar.setCustomView(R.layout.layout_action_bar);
TextView title = actionBar.getCustomView().findViewById(R.id.txt_action_bar_title);
title.setText(actionBarText);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(false);
}
}
从视觉上看,这就是我目前所拥有的:My ActionBar
我怎样才能做到这一点?
【问题讨论】:
标签: android android-actionbar android-toolbar