Android 如何以编程方式更改工具栏内容?

Android 如何以编程方式更改工具栏内容?,android,android-toolbar,Android,Android Toolbar,我正在尝试以编程方式更改工具栏内容 现在工具栏有1个ActionMenuView和1个TextView: app_bar_transaction.xml: <android.support.v7.widget.Toolbar android:id="@+id/toolbar_transaction" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"

我正在尝试以编程方式更改工具栏内容

现在工具栏有1个ActionMenuView和1个TextView:

app_bar_transaction.xml:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar_transaction"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="#F6F6F6"
    app:popupTheme="@style/AppTheme.PopupOverlay" >

        <android.support.v7.widget.ActionMenuView
            android:id="@+id/menu_transaction"
            android:layout_width="wrap_content"
            android:layout_height="?attr/actionBarSize"
            android:layout_gravity="left" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textColor="#5E5E5E"
            android:textStyle="bold"
            android:textSize="13sp"
            android:id="@+id/toolbar_title"
            android:gravity="center" />

</android.support.v7.widget.Toolbar>


如何以编程方式更改工具栏的内容?

在工具栏中添加一个线性布局,如下所示

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_transaction"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#F6F6F6"
app:popupTheme="@style/AppTheme.PopupOverlay" >

     <LinearLayout
           android:id=@+id/toolbar_item_container
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:orientation="horizontal" />

</android.support.v7.widget.Toolbar>
Toolbar mToolbar = (Toolbar)findViewById(R.id.toolbar_transaction);
LinearLayout layoutToolbar = (LinearLayout)mToolbar.findViewById(R.id.toolbar_item_container);
现在使用此layoutToolbar添加或删除其中的任何视图

layoutToolbar.addView(); and layoutToolbar.removeView();

使用工具栏id查找工具栏,然后使用toolbar.findviewbyd(R.id.view)获取工具栏内部的视图

榜样

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
ImageView imageInToolbar = (ImageView) toolbar.findViewById(R.id.myImageView);

获取工具栏内的布局并以编程方式更改视图。显然-在活动中使用Java。为了方便起见,new layout.xml如果可以直接使用工具栏,为什么需要工具栏中的LinearLayout?