You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将Toolbar中的按钮放置在文本「Learn」左侧?

把Toolbar按钮放到「Learn」左侧的解决方案

嘿,我来帮你搞定这个问题!要把按钮放到「Learn」的左侧,得分两种情况来处理,取决于「Learn」是Toolbar的标题还是另一个菜单项:

情况一:「Learn」是另一个Toolbar菜单项

Toolbar里的菜单项是按android:orderInCategory属性的数值从小到大排序的——数值越小,位置越靠左

你现在的按钮代码是:

<item android:id="@+id/action_back" 
      android:orderInCategory="1" 
      android:icon="@drawable/ic_menu_send" 
      app:showAsAction="always" 
      android:title=""/>

只要确保「Learn」对应的菜单项的android:orderInCategory值比1大(比如设为2),你的按钮就会自动排在「Learn」的左侧啦。如果「Learn」的order值比1小,那把你的按钮的orderInCategory改成更小的数字(比如0)就行。

情况二:「Learn」是Toolbar的标题

默认情况下,通过menu文件添加的菜单项都会显示在标题的右侧。要把按钮放到标题左侧,最简便的方法是把它设置为Toolbar的导航图标,步骤如下:

  1. 先把menu文件里的action_back项调整一下(要么移除,要么设置app:showAsAction="never"让它不显示在Toolbar上)
  2. 在你的Activity或Fragment代码里,给Toolbar设置导航图标和点击事件:

Kotlin代码示例

// 先获取Toolbar实例(如果用setSupportActionBar,也可以用supportActionBar)
val toolbar = findViewById<Toolbar>(R.id.your_toolbar_id)
toolbar.setNavigationIcon(R.drawable.ic_menu_send) // 用你原来的图标
toolbar.setNavigationOnClickListener {
    // 这里写按钮的点击逻辑,比如返回上一页
    onBackPressedDispatcher.onBackPressed()
}

Java代码示例

Toolbar toolbar = findViewById(R.id.your_toolbar_id);
toolbar.setNavigationIcon(R.drawable.ic_menu_send);
toolbar.setNavigationOnClickListener(v -> {
    // 点击事件逻辑
    onBackPressed();
});

这样设置后,图标就会乖乖出现在「Learn」标题的左侧了。

如果硬要通过菜单项实现标题左侧的位置,就得自定义Toolbar的布局,把标题和菜单项的容器位置调换,这种方法比较繁琐,不太推荐。

内容的提问来源于stack exchange,提问作者Tom hala

火山引擎 最新活动