我正在使用Mike Penz的材料设计导航抽屉library。我想将自定义布局用于导航抽屉的列表项。我在文档中找不到。所以我的问题是如何使用导航抽屉项目的自定义布局?
答案 0 :(得分:2)
不是将库作为依赖项添加到build.gradle,而是从Github下载库并编辑布局文件夹中的material_drawer_item_secondary.xml
或material_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()
,您可以在其中指定自己的自定义抽屉项资源。