[英]How to change action bar Title
我已经在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显示应用程序名称,但是一旦运行代码,它就会显示活动名称而不是应用程序名称,我该如何纠正?
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"/>
将以下代码添加到
MainActivity
类的onCreate
方法中://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"
值一起使用。
希望对你有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.