Android - 具有自定义列表项布局的导航抽屉

时间:2015-08-07 03:03:43

标签: android navigation-drawer

我正在使用Mike Penz的材料设计导航抽屉library。我想将自定义布局用于导航抽屉的列表项。我在文档中找不到。所以我的问题是如何使用导航抽屉项目的自定义布局?

2 个答案:

答案 0 :(得分:2)

不是将库作为依赖项添加到build.gradle,而是从Github下载库并编辑布局文件夹中的material_drawer_item_secondary.xmlmaterial_drawer_item_primary.xml,并将其作为库替换为前一个库添加到项目中或者build.gradle中的依赖项。这样您就可以自定义导航项。

答案 1 :(得分:1)

实际上,实现自定义抽屉项目的更简单的解决方案是创建自己的CustomDrawerItem类(其中您可以指定抽屉项目的布局资源)。这样做的另一个好处是可以在语法上为您提供额外的控制,重建源代码和操作原始XML不会。

这是一个简单的Custom抽屉项目类,包含8行代码

public class MyCustomDrawerItem extends AbstractBadgeableDrawerItem<MyCustomDrawerItem>
{
    @Override
    public int getType() { return R.id.material_drawer_badge_container; }

    @Override
    @LayoutRes
    public int getLayoutRes() { return R.layout.lyt_item_my_custom_drawer_item; }
}

从上面的示例中可以看出,要覆盖的两种方法是getType()getLayoutRes() getLayoutRes(),您可以在其中指定自己的自定义抽屉项资源。