gpt4 book ai didi

android - 如何更改操作栏上菜单项的位置

转载 作者:可可西里 更新时间:2023-11-01 19:03:28 25 4
gpt4 key购买 nike

我正在开发一个应用程序,其中我必须在操作栏上添加自定义布局。添加自定义布局已完成,但是当我在操作栏上添加菜单项时,我的自定义布局将其位置从操作栏右侧更改为操作栏中心。下面是我到目前为止所取得的成果。

Done till here

我想要在操作栏上有这样的东西。

Like this

自定义布局(黄色按钮)位于操作栏的最右侧,菜单项位于中间。

添加我的代码以使用 native android 操作栏实现此自定义布局:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);

actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
cView = getLayoutInflater().inflate(R.layout.header, null);
actionBar.setCustomView(cView);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.websearch_menu, menu);
return true;

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case android.R.id.home:
finish();

default:
return super.onOptionsItemSelected(item);
}
}

如何实现?

我们将不胜感激任何形式的帮助。

最佳答案

只需在您的 xml 文件中使用 orderInCategory,它就会从少到多(从您的操作栏的左侧)排序。如:

<item
android:id="@+id/Refresh"
android:icon="@drawable/ic_action_refresh"
android:showAsAction="ifRoom"
android:title="@string/refresh"
android:orderInCategory="2"/>
<item
android:id="@+id/Search"
android:icon="@drawable/ic_action_action_search"
android:showAsAction="ifRoom|collapseActionView"
android:title="@string/search"
android:orderInCategory="1"/>

尽管 Refresh 项目在 xml 文件中排在第一位,但它不会排在第一位。但是根据其 orderInCategory 属性,操作栏中从左到右的 Search 图标将排在第一位。

关于android - 如何更改操作栏上菜单项的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16082297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com