当我处于允许向用户插入数据的活动中时,我想在应用程序的操作栏中添加保存和取消按钮,其方式与显示Trello应用程序的方式相同: < / p>
我需要这些按钮仅在特定活动中显示,而不在应用程序的其他活动中显示。我不知道该怎么实现。
答案 0 :(得分:2)
在这里,setHomeAsUpIndicator正在创建关闭btn,菜单正在创建完成的btn。 希望这能回答查询。
设置工具栏
<android.support.design.widget.AppBarLayout
android:id="@+id/my_appbarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="0dp"
android:theme="@style/AppTheme.AppBarOverlay"
app:elevation="0dp">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_margin="0dp"
app:layout_scrollFlags="snap"
app:navigationIcon="@drawable/ic_dismiss_24dp"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
设置操作栏关闭btn
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
supportActionBar.setDisplayHomeAsUpEnabled(true);
supportActionBar.setDisplayShowHomeEnabled(true);
}
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_dismiss_24dp);
设置活动内菜单的功能
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_page, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.action_done:
// done btn functionalities goes here
break;
case android.R.id.home:
//dismiss btn functionality goes here
break;
}
return super.onOptionsItemSelected(item);
}
在res / menu内设置菜单文件(menu_page)
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="____your context____">
<item
android:id="@+id/action_done"
android:icon="@drawable/ic_done_24dp"
android:orderInCategory="100"
android:title="@string/done"
app:showAsAction="always" />
</menu>
答案 1 :(得分:0)
您可以自定义自己的工具栏,并在ManifestFile中将主题设置为无ActionBar 并在每个Activity中将工具栏作为组件插入