我想构建自己的应用程序,我想为它添加一个操作栏。在我的主要布局中,我想要一个只有我的应用程序名称的操作栏。在我的其他布局/页面中,我想要我的页面名称和后面导航回到上一页的符号。任何人都可以告诉我如何做到这一点,也可以有人告诉我android中的默认操作栏它做了什么以及我该怎么做。
答案 0 :(得分:10)
第1步:build.gradle(应用程序级别)
dependencies {
compile 'com.android.support:appcompat-v7:23.3.0'
}
第2步:AndroidManifest.xml
<application
....
android:theme="@style/Theme.AppCompat.Light.DarkActionBar"/>
第3步:在您的活动中
public class main extends AppCompatActivity
{
....
@Override
protected void onCreate(Bundle savedInstanceState) {
...
getSupportActionBar().setTitle("Your Activity Title"); // for set actionbar title
getSupportActionBar().setDisplayHomeAsUpEnabled(true); // for add back arrow in action bar
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
int id = item.getItemId();
if (id == android.R.id.home) {
finish();
}
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:1)
将您的布局主题更改为“Theme.DeviceDefault.Light.DarkActionBar”
在菜单文件夹下设置操作栏菜单布局
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/a"
android:icon="@drawable/a"
android:showAsAction="always"
android:title=""/>
<item android:id="@+id/b"
android:icon="@drawable/b"
android:showAsAction="always"
android:title=""/>
<item android:id="@+id/c"
android:icon="@drawable/c"
android:showAsAction="always"
android:title=""/>
<item android:id="@+id/d"
android:icon="@drawable/d"
android:showAsAction="always"
android:title=""/>
<item android:id="@+id/e"
android:icon="@drawable/e"
android:showAsAction="always"
android:title=""/>
然后将以下脚本写入您的活动类
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.actionbar_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.a:
//Write your code
return true;
case R.id.b:
//Write your code
return true;
case R.id.c:
//Write your code
return true;
case R.id.d:
//Write your code
return true;
case R.id.e:
//Write your code
return true;
default:
return super.onOptionsItemSelected(item);
}
}
答案 2 :(得分:0)
您可以使用
轻松获取ActionbarActionBar actionBar =getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
答案 3 :(得分:0)
对于 androidx:
InlineKeyboardButton
Activity 应该扩展 AppCompatActivity