android 中的自定义操作栏

custom actionbar in android

我创建了自定义工具栏并得到了这个结果: enter image description here

我想让工具栏与屏幕的宽度相匹配。

这是xml代码:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#009688">

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="@string/app_name"
            android:textColor="@android:color/white"
            android:textSize="18sp"
            android:textStyle="bold" />
    </LinearLayout>


</androidx.constraintlayout.widget.ConstraintLayout>

java代码:

private void intView() {
        if (getSupportActionBar() != null) {

            getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
            getSupportActionBar().setCustomView(R.layout.toolbar_custum_title);

        }

    }

为了那个拳头,你必须隐藏默认工具栏.. 在您的 activity onCreate 方法中编写此代码以隐藏默认操作栏

    this.getSupportActionBar().hide();

那就去你activity布局xml

    <androidx.appcompat.widget.Toolbar
            android:id="@+id/MainMenutoolbar_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/mycustom"
        app:titleTextColor="@color/white"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0">
   
      //here you can implement textview edittext etc it can be custom  
        
      </androidx.appcompat.widget.Toolbar>