相关疑难解决方法(0)

如何在NavigationView中为项目设置自定义字体?

使用new NavigationView,我们可以通过XML菜单资源设置抽屉的项目.

有了它,我们可以设置每个项目

<item
  android:id="@+id/drawer_my_account"
  android:icon="@drawable/ic_my_account"
  android:title="@string/drawer_my_account" />
Run Code Online (Sandbox Code Playgroud)

但现在,我想为抽屉中的每个项目设置一个自定义字体,我无法通过XML或Java代码找到方法.有办法吗?

android android-design-library navigationview

64
推荐指数
6
解决办法
6万
查看次数

如何在DrawerLayout的NavigationView中设置未读通知计数?

我使用Android Design Support LibraryDrawerLayout中创建了一个NavigationView

 <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">

     <!-- other views -->

     <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/my_navigation_items" />
 </android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

my_navigation_items.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/bookmarks_drawer"
            android:icon="@drawable/ic_drawer_bookmarks"
            android:title="@string/bookmarks" />
        <item
            android:id="@+id/alerts_drawer"
            android:icon="@drawable/ic_drawer_alerts"
            android:title="@string/alerts" />
        <item
            android:id="@+id/settings_drawer"
            android:icon="@drawable/ic_drawer_settings"
            android:title="@string/settings" />
    </group> 
</menu>
Run Code Online (Sandbox Code Playgroud)

现在,我想为NavigationView下面的图像中的每个项目设置未读通知计数器:

未读通知计数器

如何在项目上设置未读通知计数器NavigationView

android android-support-library drawerlayout android-design-library navigationview

27
推荐指数
3
解决办法
2万
查看次数

如何在NavigationView for Material Design Drawer上添加项目的通知值?

我的问题很简单,如何添加项目的通知值向右NavigationView材料设计抽屉这样呢?

在此输入图像描述

菜单项中是否有用于定义抽屉的属性?

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group
        android:checkableBehavior="single">

        <item
            android:id="@+id/drawer_home"
            android:checked="true"
            android:icon="@drawable/ic_home_black_24dp"
            android:title="@string/home"/>

        <item
            android:id="@+id/drawer_favourite"
            android:icon="@drawable/ic_favorite_black_24dp"
            android:title="@string/favourite"/>
        ...

        <item
            android:id="@+id/drawer_settings"
            android:icon="@drawable/ic_settings_black_24dp"
            android:title="@string/settings"/>

    </group>
</menu>
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer material-design navigationview

21
推荐指数
2
解决办法
5997
查看次数

具有圆角的Android Spannablecontent

我正在尝试通过使用Spannable String来更改我的字符串以使用中间的数字制作徽章.我可以通过设置BackGroundColorSpan突出显示相应的字母/数字,但需要帮助使它更漂亮.我希望有圆角,整个形状周围有一点填充.

这篇文章非常接近我正在尝试做的事情:Android SpannableString在文本部分后面设置背景

由于它与我的应用程序交互的方式,我真的需要将资源保留为TextView.

任何想法如何利用ReplacementSpan为我的特殊情况?

这是我的代码片段:

            if (menuItem.getMenuItemType() == SlidingMenuItem.MenuItemType.NOTIFICATIONS) {
                myMenuRow.setTypeface(null, Typeface.NORMAL);
                myMenuRow.setTextColor(getContext().getResources().getColor(R.color.BLACK));
                myMenuRow.setActivated(false);
                SpannableString spannablecontent = new SpannableString(myMenuRow.getText());
                spannablecontent.setSpan(new BackgroundColorSpan(Color.argb(150,0,0,0)), 18, myMenuRow.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                myMenuRow.setText(spannablecontent);
Run Code Online (Sandbox Code Playgroud)

java icons android

12
推荐指数
6
解决办法
6819
查看次数

如何在 NavigationView 中设置徽章?

我使用NavigationDrawer来自 desin lib

compile 'com.android.support:design:24.0.0'
Run Code Online (Sandbox Code Playgroud)

XML

....

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main_second"
    app:menu="@menu/activity_third_drawer" />

....
Run Code Online (Sandbox Code Playgroud)

有一点我正在设置菜单

app:menu="@menu/activity_third_drawer"
Run Code Online (Sandbox Code Playgroud)

XML菜单

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

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_inbox"
        android:icon="@drawable/ic_mail_outline_white"
        android:title="@string/inbox" />
    <item
        android:id="@+id/nav_gallery"
        android:icon="@drawable/ic_close_24dp"
        android:title="@string/gallery" />
    <item
        android:id="@+id/nav_slideshow"
        android:icon="@drawable/ic_close_24dp"
        android:title="@string/slideshow" />
    <item
        android:id="@+id/nav_manage"
        android:icon="@drawable/ic_close_24dp"
        android:title="@string/tools" />
</group>

<item android:title="@string/about_app">
    <menu>
        <item
            android:id="@+id/nav_about"
            android:icon="@drawable/ic_close_24dp"
            android:title="@string/about1" />
    </menu>
</item>
</menu>
Run Code Online (Sandbox Code Playgroud)

最终它看起来像这样

???????  ??? ?????????  ????????????

但我需要当消息进入收件箱时,它应该被标记为NavigationDrawer.

像这样

???????  ??? ?????????  ????????????

有很多不同的库可以帮助解决这个问题,我选择了这个

这个库可以在任何你想要的地方附加徽章,但没有一个样本锄头可以将它附加到<item>. 最接近的示例是如何附加到XML

<com.readystatesoftware.viewbadger.BadgeView
            android:id="@+id/badge"
            android:layout_width="wrap_content" …
Run Code Online (Sandbox Code Playgroud)

java xml android android-navigationview

5
推荐指数
1
解决办法
2960
查看次数