Android 如何将膨胀的自定义视图与工具栏中的其他菜单项对齐

Android 如何将膨胀的自定义视图与工具栏中的其他菜单项对齐,android,android-toolbar,Android,Android Toolbar,我真的不知道该怎么说,但我想要的只是一个工具栏(动作栏),就像下面的WhatsApp样式一样 同时,我使用Android工具栏,扩展了一个自定义视图(其中包含购物车按钮),并使用setCustomView()方法添加了它。我尝试调整TextView的textSize属性,但即使是最合理的大小也无法将TextView与工具栏菜单项的其余部分对齐。有关于如何做的帮助吗?或者有不同的方法吗?如果我理解正确,我建议采用不同的方法,您可以将工具栏设置为SupportActionBar,并像在普通act

我真的不知道该怎么说,但我想要的只是一个工具栏(动作栏),就像下面的WhatsApp样式一样


同时,我使用Android工具栏,扩展了一个自定义视图(其中包含购物车按钮),并使用setCustomView()方法添加了它。我尝试调整TextView的textSize属性,但即使是最合理的大小也无法将TextView与工具栏菜单项的其余部分对齐。有关于如何做的帮助吗?或者有不同的方法吗?

如果我理解正确,我建议采用不同的方法,您可以将工具栏设置为SupportActionBar,并像在普通actionBar中一样添加自定义图标

  • 将工具栏设置为SupportActionBar
  • 创建一个菜单文件,就像创建一个普通的actionBar一样

  • 是的,我使用了你的搜索图标的方法,但因为我没有一个购物车图标png图像(或任何其他格式),我决定使用字体图标,但在这样做之后,我想到了上面的那个栏。关于如何对齐自定义视图子项和菜单子项,使它们都显示在一条直线上,或者我必须先获得PNG图像图标才能完成此操作,有什么想法吗?好的,我知道了。工具栏是一个视图组(布局),所以你可以放弃我上面给出的建议,在xml上设置所有视图,就像在视图组上一样,并根据需要对齐它,在java代码上手动设置行为,或者你可以得到png图像。非常感谢你的建议,兄弟,我现在有了我想要的工具栏
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    
     <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
    
        <item
            android:id="@+id/action1"
            android:orderInCategory="100"
            android:title="CUSTOM TITTLE"
            android:icon="@drawable/custom_icon1"
            app:showAsAction="always" />
    
        <item
            android:id="@+id/action2"
            android:orderInCategory="100"
             android:title="CUSTOM TITTLE"
            android:icon="@drawable/custom_icon2"
            app:showAsAction="ifRoom"  />
    
       </menu>
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    
        getMenuInflater().inflate(R.menu.custom_menu, menu);
    
        .....
    
        return true;
    }
    
     @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        switch (item.getItemId()) {
            case R.id.action_custom_view:
    
                .....Your code.....
    
                break;
            case android.R.id.action_custom_view2:
    
                 .....Your code.....
    
                break;
        }
    
        return false;
    
    }