【发布时间】:2016-06-07 23:40:15
【问题描述】:
我正在开发一个应用程序,该应用程序中有 3 个活动
- 登录
- 主要
- PhotoViewer 扩展了 fragmentActivity
在清单中:
<activity
android:name=".PhotoViewerActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_photo_viewer"
android:parentActivityName=".MainActivity"
android:theme="@style/FullscreenTheme" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.ceiva.snap.MainActivity" />
</activity>
有人可以建议我如何在操作栏右侧添加“定制器”文本,仅用于 PhotoViewerActivity。
我也试过这样做:
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setDisplayShowTitleEnabled(true);
// getActionBar().setIcon(android.R.color.transparent);
getActionBar().setTitle("Back");
Log.i(TAG, "actionbar " + getActionBar().isShowing());
ActionBar actionBar = getActionBar();
TextView customizerView = new TextView(getApplicationContext());
customizerView.setEnabled(true);
customizerView.setVisibility(View.VISIBLE);
customizerView.setText(getString(R.string.action_customizer));
customizerView.setTextSize(16);
customizerView.setPadding(100, 40, 40, 40);
actionBar.setCustomView(customizerView);
后面的标题显示在左侧,但 textview 不显示。
【问题讨论】:
-
您是在谈论操作栏/工具栏中的菜单选项吗?
-
是的,想在操作栏中添加另一个项目。
-
我创建了一个新的 XML 文件,其中包含所需的项目作为 textview,并按如下方式执行:getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setIcon(android.R.color.transparent); getActionBar().setTitle("返回"); getActionBar().setDisplayShowCustomEnabled(true); LayoutInflater inflator = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE);查看 v = inflator.inflate(R.layout.picture_viewer_action_bar, null); getActionBar().setCustomView(v);它按我的预期工作。
-
您可以使用选项菜单来实现这一点。
-
我试过了,但菜单项没有出现。你的意思是在 onCreateOptionsMenu 中膨胀一个菜单 xml 并在那里访问菜单项?
标签: android android-actionbar fragment