操作栏菜单布局
我正在使用 ActionbarSherlock 库来实现 Android 2.1 API 7 平台的操作栏。 Sherlock库已成功导入到我自己的项目中。
然后,在我的项目中,我有 res/menu/action_menu.xml
:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/test1"
android:title="@string/test_1"
android:showAsAction="ifRoom"
/>
<item android:id="@+id/test2"
android:title="@string/test_2"
android:showAsAction="ifRoom"
/>
</menu>
我的活动:
import android.support.v4.app.ActionBar;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.Menu;
import android.support.v4.view.MenuItem;
public class MyActivity extends FragmentActivity {
@Override
protected void onStart() {
super.onStart();
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
}
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.action_menu, menu);
return true;
}
}
使用上面的代码,我的应用程序有一个操作栏。 但问题是上面的菜单xml文件中定义的所有项目都显示在操作栏的右侧上,而操作栏的左侧部分是留空白。
您可能已经在我的 Activity 代码中注意到,我有:
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
上面两行代码是在我的 Activity onStart()
回调中定义的,它禁用操作栏默认文本和图标。
但是,如何让菜单 xml 文件中定义的自定义项均匀显示在操作栏上,而不是仅显示在操作栏的右侧?
I am using ActionbarSherlock library to implement action bar for Android 2.1 API 7 platform. The Sherlock library is imported to my own project successfully.
Then, in my project, I have res/menu/action_menu.xml
:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/test1"
android:title="@string/test_1"
android:showAsAction="ifRoom"
/>
<item android:id="@+id/test2"
android:title="@string/test_2"
android:showAsAction="ifRoom"
/>
</menu>
My Activity:
import android.support.v4.app.ActionBar;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.Menu;
import android.support.v4.view.MenuItem;
public class MyActivity extends FragmentActivity {
@Override
protected void onStart() {
super.onStart();
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
}
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.action_menu, menu);
return true;
}
}
With the above code, My application has an action bar. But the problem is that all the items defined in the above menu xml file are showing on the right hand side of the action bar, and the left side part of action bar is left blank.
You probably already noticed in my Activity code, I have:
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
The above two line codes are defined in my Activity onStart()
callback which disable the action bar default text and icon.
But how can I have my custom items defined in menu xml file to be shown evenly on the action bar instead of only show on the right hand side of the action bar?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论