如何在膨胀的视图工具栏androidjava中显示工具栏图标



我的活动文件中有一个膨胀的视图,而布局文件恰好有一个Toolbar小部件,我希望用图标填充它。我尝试使用代码toolbar.Inflate(int resource);,但它没有显示,工具栏文本也没有显示toolbar.Title=name;布局的代码是这个。。。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@drawable/chat_background"
android:baselineAligned="false"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar3"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</com.google.android.material.appbar.AppBarLayout>
<EditText
android:layout_margin="5dp"
android:layout_alignParentBottom="true"
android:padding="9dp"
android:drawableRight="@drawable/tinted_camera"
android:background="@drawable/rounded"
android:drawableLeft="@drawable/emoji"
android:hint="Type a Message"
android:inputType="textMultiLine"
android:id="@+id/message_box"
android:gravity="bottom"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"/>
</RelativeLayout>

我试着首先膨胀视图,得到了工具栏的ID,并试着按如下方式膨胀工具栏右侧的图标,但不起作用。

try
{
//Inflate our view with the Chat layout
View chat_view = LayoutInflater.Inflate(Resource.Layout.chat_view, null);
//define the toolbar
AndroidX.AppCompat.Widget.Toolbar toolbar = chat_view.FindViewById<AndroidX.AppCompat.Widget.Toolbar>(Resource.Id.toolbar3);
SetSupportActionBar(toolbar);
//get the nanme of the current contact
string name = (string)contact_list.GetItemAtPosition(e.Position);
toolbar.Title= name;
//inflate this toolbar
toolbar.InflateMenu(Resource.Menu.video_menu_item);
toolbar.InflateMenu(Resource.Menu.call_menu_item);
toolbar.InflateMenu(Resource.Menu.bars_menu_item);
toolbar.SetNavigationIcon(Resource.Drawable.back_arrow);
//build a new alert dialog
Android.App.AlertDialog.Builder builder = new Android.App.AlertDialog.Builder(this, Android.Resource.Style.ThemeMaterialLightNoActionBarFullscreen);
builder.SetView(Resource.Layout.chat_view);
builder.Show();
}catch (Exception ex)
{
Toast.MakeText(this,ex.Message,ToastLength.Short).Show();
}

我如何成功地使这个工具栏在一个膨胀的视图中显示图标和文本?

试试这个:

<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar3"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:menu="@menu/your_menu"
app:navigationIcon="@drawable/your_icon" />
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_game"
android:icon="@drawable/ic_new_game"
android:title="@string/new_game"
android:showAsAction="ifRoom"/>
<item android:id="@+id/help"
android:icon="@drawable/ic_help"
android:title="@string/help" />
</menu>

我认为您需要检查您的menu.xml文件。

最新更新