我正在尝试以编程方式更改工具栏内容。
现在工具栏有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>
如何以编程方式更改工具栏的内容?
答案 0 :(得分:0)
在工具栏的旁边添加一个LinearLayout,如下所示
<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>
然后在Java文件中访问此类线性布局
Toolbar mToolbar = (Toolbar)findViewById(R.id.toolbar_transaction);
LinearLayout layoutToolbar = (LinearLayout)mToolbar.findViewById(R.id.toolbar_item_container);
现在使用此layoutToolbar添加或删除任何视图
layoutToolbar.addView(); and layoutToolbar.removeView();
答案 1 :(得分:0)
使用其id找到您的工具栏,然后使用toolbar.findViewById(R.id.view)获取工具栏中的视图;
实施例
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
ImageView imageInToolbar = (ImageView) toolbar.findViewById(R.id.myImageView);