我在Android Studio中开发了一个操作栏,但是,操作栏会显示活动名称而不是应用名称以及图标。
例如,我希望它显示应用名称以及刷新,设置和用户图标。相反,它会显示活动名称以及刷新,设置和用户图标。
Menuactivity.java
public class MenuActivity extends ActionBarActivity {
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_user) {
Intent intent= new Intent(this,DashboardActivity.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
}
MenuMain显示应用程序名称,但是一旦运行代码,它会显示活动名称而不是应用程序名称,我该如何解决?
答案 0 :(得分:2)
<强> 1。最简单的方法是:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(R.strind.app_name);
<强> 2。您还可以使用自定义Toolbar
布局
更改现有代码
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
喜欢这个:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.actionbar_main;
请关注我的教程以了解如何实施它。
这是我的解决方案 - 使用自定义工具栏创建TextDrawable徽标
- 创建名为
的自定义布局action_bar.xml
加入此代码
<ImageView android:id="@+id/image_view" android:layout_width="32dp" android:layout_height="32dp" tools:src="@mipmap/ic_launcher"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="10dp" android:text="@string/app_name"> //THIS GUY android:textColor="#ffffff" android:textSize="24sp" android:textAlignment="gravity" android:gravity="center_vertical"/>
在
onCreate
类中添加此MainActivity
方法代码://SET A DRAWABLE TO IMAGEVIEW Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); getSupportActionBar().setCustomView(R.layout.actionbar_main); TextDrawable drawable = TextDrawable.builder() .buildRound("A", getResources().getColor(R.color.colorAccent)); ImageView imageView = (ImageView) findViewById(R.id.image_view); imageView.setImageDrawable(drawable);
- 醇>
更改后应如下所示:
注意:要显示appName,我使用TextView
值android:text="@string/app_name"
。
希望有所帮助