如何更改操作栏标题

时间:2016-01-10 21:06:51

标签: java android xml android-studio

我在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 个答案:

答案 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徽标      
      
  1. 创建名为action_bar.xml
  2. 的自定义布局   
  3. 加入此代码

         

      

    <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"/>
    
         

  4.   
  5. 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);
    
  6.   
  7. 更改后应如下所示:

  8.         

注意:要显示appName,我使用TextViewandroid:text="@string/app_name"

希望有所帮助