【问题标题】:How to put icons for items in navigation drawer如何在导航抽屉中放置项目的图标
【发布时间】:2016-09-27 11:11:48
【问题描述】:

我正在开发一个我正在使用导航抽屉的应用程序,因为当我尝试为项目放置图标时,它给了我图像的路径,如下所示:“ res/drawale/bg.jpg"。我不知道该怎么做。

以下是我的主要活动代码:

 private void init_navigator() {
    // Navigation Drawer
    mTitle = mDrawerTitle = getTitle();

    mDrawerLayout = (DrawerLayout) findViewById(R.id.main_activity_DrawerLayout);
    mDrawerLayout.setStatusBarBackgroundColor(getResources().getColor(R.color.primaryDark));
    mScrimInsetsFrameLayout = (ScrimInsetsFrameLayout) findViewById(R.id.main_activity_navigation_drawer_rootLayout);
    mDrawerList = (ListView) findViewById(R.id.left_drawer);
    mDrawerItmes = getResources().getStringArray(R.array.drawer_titles);
  mDrawerItmes = getResources().getStringArray(R.array.nav_drawer_icons);

这是我的 string.xml 代码

   <string-array name="drawer_titles">
    <item>About Us</item>
    <item>FeedBack</item>
    <item>Setting</item>
    <item>Share App</item>
    <item>Rate Us</item>
    <item>Logout</item>
</string-array>

<array name="nav_drawer_icons">
    <item>@drawable/bg</item>
    <item>@drawable/bg</item>
    <item>@drawable/bg</item>
    <item>@drawable/bg</item>
    <item>@drawable/b</item>
    <item>@drawable/bg</item>

</array>

【问题讨论】:

  • 如果您使用的是navigationView,那么您可以轻松地创建一个菜单[带有标题和图标] 并将navigationview 中的菜单作为xml 属性进行扩充,以便更清楚地查看technotalkative.com/part-4-playing-with-navigationview跨度>
  • 但是我怎么给你..你有什么想法
  • DrawerLayout 是指用于放置菜单的支架。您应该在 xml 中显式添加导航视图(菜单)并从那里扩展菜单

标签: android navigation-drawer


【解决方案1】:

在 xml 中的导航视图中添加:

app:menu="@menu/drawer_menu_icons"

然后在菜单文件夹中创建一个名为drawer_menu_icons的新xml并执行以下操作:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group
        android:id="@+id/homegroup"
        android:checkableBehavior="single">
        <item
            android:id="@+id/nav_home"
            android:icon="@drawable/homeicon"
            android:title="Main screen" />
        <item
            android:id="@+id/nav_branches"
            android:icon="@drawable/backspace"
            android:title="Branch selection" />

    </group>
</menu>

然后添加你想要的任何图标 :)

【讨论】:

    【解决方案2】:

    试着按照这种方式,这正是你要找的

    http://www.journaldev.com/9958/android-navigation-drawer-example-tutorial

    http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/

    public class DrawerItemCustomAdapter extends ArrayAdapter<DataModel> {
    
        Context mContext;
        int layoutResourceId;
        DataModel data[] = null;
    
        public DrawerItemCustomAdapter(Context mContext, int layoutResourceId, DataModel[] data) {
    
            super(mContext, layoutResourceId, data);
            this.layoutResourceId = layoutResourceId;
            this.mContext = mContext;
            this.data = data;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
    
            View listItem = convertView;
    
            LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
            listItem = inflater.inflate(layoutResourceId, parent, false);
    
            ImageView imageViewIcon = (ImageView) listItem.findViewById(R.id.imageViewIcon);
            TextView textViewName = (TextView) listItem.findViewById(R.id.textViewName);
    
            DataModel folder = data[position];
    
    
            imageViewIcon.setImageResource(folder.icon);
            textViewName.setText(folder.name);
    
            return listItem;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多