请查看以下xml文件。我为每个菜单都使用了图标。在我的代码中,图标显示在左侧(代码中没有问题)。但是当我运行代码时,我的输出并没有显示图标。它在图标区域中显示一个灰色方框。请帮忙:
activity_main_drawer.xml:
<menu>
<item
android:id="@+id/nav_1"
android:icon="@mipmap/ic_launcher"
android:title="@string/settings_label" />
<item
android:id="@+id/nav_2"
android:icon="@mipmap/ic_launcher_wp"
android:title="@string/remote_label" />
<item
android:id="@+id/nav_3"
android:icon="@mipmap/ic_launcher_twitter"
android:title="@string/interactive_label" />
<item
android:id="@+id/nav_4"
android:icon="@mipmap/ic_launcher_gplus"
android:title="@string/credits_label" />
</menu>
答案 0 :(得分:0)
使用以下给定代码更新您的布局
+
答案 1 :(得分:0)
还有另一种简单的方法来显示标题上的菜单图标列表。 检查以下代码。
对于Xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_home_drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/theme_background_color"
android:fitsSystemWindows="true">
<RelativeLayout
android:id="@+id/activity_home"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/activity_home_layout_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/activity_home_layout_header" />
<RelativeLayout
android:id="@+id/activity_home_layout_header"
android:layout_width="match_parent"
android:layout_height="@dimen/action_bar_size"
android:background="@color/white">
<FrameLayout
android:id="@+id/activity_home_frame_drawer_icon"
style="@android:style/Widget.ActionButton"
android:layout_width="40dp"
android:layout_height="@dimen/action_bar_size"
android:layout_marginStart="5dp"
android:clickable="true"
android:clipToPadding="false"
android:focusable="true"
android:padding="0dp">
<Imageview
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
android:background="@drawable/icon_slider"
app:iconViewColor="@color/bw_a" />
</FrameLayout>
<TextView
android:id="@+id/activity_home_text_header_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:fontFamily="@font/poppins_medium"
android:text="Flourish"
android:textColor="@color/black"
android:textSize="@dimen/text_size_default"
android:visibility="visible"
tools:ignore="HardcodedText" />
<android.support.v7.widget.RecyclerView
android:id="@+id/activity_home_recycle_view_menu_action_button_list"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_marginEnd="5dp" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="4dp"
android:layout_below="@+id/activity_home_layout_header"
android:alpha="0.50"
android:background="@drawable/shadow_from_top" />
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
然后将所有数据添加到列表中,像正常列表视图一样设置适配器所有方法。
你完成了工作。
希望它有所帮助。
答案 2 :(得分:0)
在导航视图中,执行此操作 -
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:openDrawer="start">
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
然后在onCreate方法中初始化组件
drawer = (DrawerLayout)findViewById(R.id.drawer_layout)
toggle = ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close)
drawer.addDrawerListener(toggle)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setHomeButtonEnabled(true)
答案 3 :(得分:0)
activity_main_drawer.xml 应位于menu
文件夹下,并设置此菜单及其应使用Navigationvue的图标。
与文档相关:您必须设置:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<!-- Your contents -->
<android.support.design.widget.NavigationView
android:id="@+id/navigation"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>