android 两种方式设置toolbar

Posted zyip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 两种方式设置toolbar相关的知识,希望对你有一定的参考价值。

 

  // 设置toolbar
//        val toolbar: Toolbar = findViewById(R.id.toolbar)
//        toolbar.setNavigationIcon(R.drawable.ff)
//        toolbar.setNavigationOnClickListener 
//            onBackPressed()
//        
//        toolbar.inflateMenu(R.menu.menu)
//        toolbar.setOnMenuItemClickListener item ->
//            when (item.itemId) 
//                R.id.it1 -> 
//                    Toast.makeText(this, "item clicked", Toast.LENGTH_SHORT).show()
//                    // 处理第一个菜单项的点击事件
//                    true
//                
//                R.id.it2 -> 
//                    finish()
//                    // 处理第二个菜单项的点击事件
//                    true
//                
//                else -> false
//            
//        

 

        val toolbar: Toolbar = findViewById(R.id.toolbar)
        setSupportActionBar(toolbar)
        val actionBar = supportActionBar
        actionBar?.setDisplayHomeAsUpEnabled(true)
        actionBar?.setDisplayShowHomeEnabled(true)
        toolbar.setNavigationOnClickListener 
            finish()
        




    override fun onCreateOptionsMenu(menu: Menu?): Boolean 
        menuInflater.inflate(R.menu.menu, menu)
        return true
    

    override fun onOptionsItemSelected(item: MenuItem): Boolean 
        when (item.itemId) 
            R.id.it1 -> Toast.makeText(this, "You clicked Backup",
                Toast.LENGTH_SHORT).show()
            R.id.it2 -> Toast.makeText(this, "You clicked Delete",
                Toast.LENGTH_SHORT).show()
        
        return true
    

 

android 怎么让toolbar上面的title居中

参考技术A 自带的settitle是居左的,可以自定义一个textview,如下方式:
Android自带的toolbar有设置title的功能,但是设置的title都是居左的,但是很多需求都是要title居中,主要的方法就是:不使用setTitle,而是在toolBar的xml定义中插入一个TextView,然后设置其layout_gravity为center,它就在正中间了。。
1、定义toolbar的xml文件
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="@color/primary">

<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="20sp" />
</android.support.v7.widget.Toolbar>
12345678910111213141516171234567891011121314151617

具体代码中使用toolbar
public Toolbar initToolbar(int id, int titleId, int titleString)
Toolbar toolbar = (Toolbar) findViewById(id);
// toolbar.setTitle("");
TextView textView = (TextView) findViewById(titleId);
textView.setText(titleString);
setSupportActionBar(toolbar);
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null)
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);

return toolbar;
本回答被提问者采纳
参考技术B   在toolbar里嵌套一个RelativeLayout或LinearLayout,把title放在里面再居中,,

以上是关于android 两种方式设置toolbar的主要内容,如果未能解决你的问题,请参考以下文章

android 怎么让toolbar上面的title居中

Android5.0之Toobar的使用

Android5.0之Toobar的使用

toolbar的相关知识

安卓 ToolBar 颜色样式设置

设置android状态栏颜色和toolbar颜色一致